tr

テキスト処理

書き方

tr '[set1]' '[set2]'

文字を一対一で置き換えたり削ったりします。標準入力しか読まないので、ファイル名をそのまま渡すと失敗し、< かパイプで入れる必要があります。

よく使うオプション

オプション意味
-dDelete every character in the set
-sSqueeze repeats of a character into one
-cUse the complement of the set
-cdDelete everything that is not in the set

tr 'a-z' 'A-Z' < notes.txt

Uppercases everything.

tr -d '\r' < win.txt > unix.txt

Strips CR, turning CRLF endings into LF.

tr -s ' ' < spaced.txt

Collapses runs of spaces into one.

パイプでつないで使うのが本来の形です。ひとつで全部やるより、三つつないだ方が短くなります。

読み方

  • 角括弧 [ ] は省いてよい部分です。
  • 三点 … は複数並べられるという意味です。
  • オプションは大文字小文字を区別します — -r と -R が別物のコマンドもあります。

よくある質問

Q. tr は何をしますか。

文字を一対一で置き換えたり削ったりします。標準入力しか読まないので、ファイル名をそのまま渡すと失敗し、< かパイプで入れる必要があります。

Q. どう打ちますか。

tr '[set1]' '[set2]' — 角括弧は省いてよい部分です。

Q. よく使うオプションはいくつですか。

ここにまとめたのは4個です。全部は man tr にあります。このコマンドはテキスト処理の仲間です。

関連するコマンド

man ページ: man tr