パソコン悪戦苦闘記録

文字の置き換えtrコマンドの使用上の注意点

 Linuxコマンド「tr」についての続きです。trは、文字を置き換えるコマンドです。

 改行文字として、キャリッジリターン ラインフィードが使用されているテキストファイルから、キャリッジリターンを除去するには、trコマンドが便利、……と昨日のブログ記事に書きました。
 

 「trでキャリッジリターン除去」については、
   こちらの記事をご覧ください。


 trは、なかなか便利なコマンドです。なので、備忘のため、つまり将来の自分自身のために、使用上の注意点をいくつか記録しておきます。
 こうした類の知識は、覚えているうちに記録しておかないと、頭の中からすっからか~んと消えてしまいます。





【1】 書式・構文
 trコマンドの書式・構文は次のとおりです。
 tr <置換前文字> <置換後文字>

 $ echo abc | tr abc ABC
を実行すると、ABC と出力されます。
 abc が ABC に置き換えられた結果です。

 置換前文字と置換後文字とは、それぞれ1文字ずつ単独で、並び順どおりに対応しているため、通常は置換前と置換後の文字数は一致させます。つまり、「abc」というまとまった文字列が置換されるわけではありません。
 置換前文字と置換後文字には、「-(ハイフン)」を利用することで、文字範囲を指定できます。
 $ echo goosyun | tr a-z A-Z
を実行すると、GOOSYUN と出力されます。
 小文字がすべて大文字に置換された結果です。


【2】 trでファイルを扱う
 trコマンドでファイルを扱うには、「cat」コマンドでファイル内容を読み出した上でパイプで渡すか、入力リダイレクトを行って、ファイルから入力する必要があります。
 catとパイプを使う: cat input.txt | tr a-z A-Z
 リダイレクトを使う: tr a-z A-Z < input.txt 

 tr a-z A-Z ./input.txt などとして、trコマンドの引数として入力ファイル名を指定すると、エラーとなってしまいます。


【3】 主なオプション
 trコマンドの主なオプションは次のとおりです。オプションを何も指定しないときは、単純な文字置換が行われます。

1 -d
  文字を削除します。
  $ echo goosyun | tr -d o
 を実行すると、gsyun と出力されます。

2 -s
  連続文字を1つにまとめます。
  $ echo goosyun | tr -s o
 を実行すると、gosyun と出力されます。

3 -c
 一つ目の引数(置換前文字の箇所)に記述した文字以外の文字全てを、処理対象にします。
  $ echo goosyun | tr -c -d gsyun'\n'
 を実行すると、gsyun と出力されます。




それでは、また次の記事で
goosyun
名前:
コメント:

※文字化け等の原因になりますので顔文字の投稿はお控えください。

コメント利用規約に同意の上コメント投稿を行ってください。

 

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「Ubuntu」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事