6.13. 文字の変換【tr】

$ tr 文字列1 文字列2

tr コマンドは、標準入力から変換する文字列を受け取り、標準出力へ変換後の文字列を出力します。ファイルの指定はできませんので、パイプやリダイレクトを使用する必要があります。

tr コマンドは、文字列1 で指定した文字を 文字列2 の対応する位置にある文字へ変換します。つまり、文字列1 の最初の文字は、文字列2 の最初の文字へ変換され、以降同様に 文字列1 の 2番目の文字は、文字列2 の 2番目の文字に変換されます。通常、文字列1文字列2 は同じ長さである必要があります。

よくある使用例としては、英小文字から英大文字への変換があげられます。

$ cat tr_test.txt 
abcdefghijklmnopqrstuvwxyz

$ tr a-z A-Z < tr_test.txt
ABCDEFGHIJKLMNOPQRSTUVWXYZ

$

上記例のように文字列の範囲で指定することもできます。

また、tr コマンドは -d オプションを指定することにより、任意の文字を削除することもできます。

例えば、Windows の改行コード である CR+LF が含まれたテキストファイルを、Linux の改行コードである LF に変換するには、以下のコマンドを実行し CR を削除します。

$ tr -d '\r' < windows.txt > linux.txt