Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

tr | 標準入力の内容を置換、削除する

概要

標準入力の内容を置換、削除します

tr

オプション

d = 置換をせずに削除する
s = 複数連続マッチした場合に1つにまとめて置換する
t = FROMからTOまで切り詰める
SET1の置換、削除ルール(正規表現
SET2 tオプション時に利用。

指定内容について

\NNN 文字の八進数表現(1 から 3 個の 八進数)
\\ バックスラッシュ
\a ベル
\b バックスペース
\f フォームフィード
\n 改行
\r 復帰
\t 水平タブ
\v 垂直タブ
CHAR1-CHAR2 CHAR1 から CHAR2 までを昇順に展開した文字列
[CHAR1-CHAR2] SET1 と SET2 の両方で指定した場合には CHAR1-CHAR2 と同じ
[CHAR*] SET2 として, CHAR を SET1 の長さ分展開した文字列
[CHAR*REPEAT] CHAR を REPEAT 個展開した文字列, REPEAT の値を 0 から
始めた場合には八進数として解釈する
[:alnum:] 全てのアルファベットと数字
[:alpha:] 全てのアルファベット
[:blank:] 全ての水平方向空白類文字
[:cntrl:] 全ての制御文字
[:digit:] 全ての数字
[:graph:] 全ての表示可能文字。空白は含まない
[:lower:] 全ての小文字アルファベット
[:print:] 全ての表示可能文字。空白も含む
[:punct:] 全ての句読点
[:space:] 全ての水平及び垂直タブ文字
[:upper:] 全ての大文字アルファベット
[:xdigit:] 全ての十六進数数値
[=CHAR=] 全ての CHAR と等価な文字

サンプル

オプションなし

$echo "1234567890" | tr "123" "a"
aaa4567890

dオプションで削除

$echo "1234567890" | tr -d "123"
4567890

sオプションでまとめて変換。オプションありなし比較。

$echo "1234567890" | tr "[:digit:]" "a"
aaaaaaaaaa
$echo "1234567890" | tr -s "[:digit:]" "a"
a

tオプションで各文字単位で置換。オプションありなし比較。

$echo "1234567890" | tr "12" "3"
3334567890
$echo "1234567890" | tr -t "12" "3"
3234567890