Unix command > tr (文字の置換)

更新日 2014-12-19
広告

trコマンドを使うと、簡単な文字列置換が可能です。 最初の引数は変換対象の文字列、2つめの引数は変換後の文字列です。

$ echo "hoge" | tr hoge home
home

ただし、trコマンドは、デフォルトで「全文一致による置換」を行いません。 以下の例を見てください。

$ echo "hogege" | tr hgeo 1234
142323

trコマンドは、入力 "hogege" に対して、

  • "h" を "1" に置換
  • "g" を "2" に置換
  • "e" を "3" に置換
  • "o" を "4" に置換
という処理を行うのです。

2つめの引数サイズが、1つめの引数サイズよりも小さい場合は、最後の文字で置換されます。

$ echo "hoge" | tr hoge ab
abbb

"abge" という結果にならないことに注意してください。

全文一致で置換したい場合は、-s オプションを指定します。

$ echo "hoge hoge" | tr -s hoge ab
ab ab

単に、特定の文字を削除したいだけであれば、-d オプションを指定します。

$ echo "hogehoge" | tr -d "h"
ogeoge

改行コードを置換することもできます。 以下は、some.txtファイルの改行コードをスペースに変換する例です。

$ cat some.txt | tr '\n' ' '
広告
お問い合わせは sweng.tips@gmail.com まで。
inserted by FC2 system