置換コマンド編
tr
tr a b
でaをbに置換する
echo pien | tr ie ao > paon
a,b の文字数が異なる場合
echo あほう | tr 'あほ' 'い' > いいう echo あほう | tr 'あほ' 'いおま' > いおま echo pien | tr 'i' 'ao' > paen
どうやら一文字目(a)の指定文字数だけが変更を受けるらしい
manみても解決策わからなかった...
解決策
大人しくsedを使う
sed
- 同じく置換コマンド(正しくはプログラム)
- 色々な使い方があるが、置換に使いたければ
sed 's;A;B;'
- A to B
- 区切りもじ「;」は何でも良い(正規表現などとバッティングしなければ)
echo あほう | sed 's@あほ@いおま@' > いおまう echo pien | sed 's#i#en#' > penen
tr はいらない?
trは-d(delete)-c(complement)とか合わせて使うと強そう。
echo '0120-117-117' | tr -d - > 0120117117 echo 'kokoha!DOKO?WatashiHa*Dare' | tr -c 'a-zA-Z' ' ' > kokoha DOKO WatashiHa Dare
- sedでもできるが、trの方が記述が簡単
- trの方がおそらく軽い