文字列の置換

文字列の置換は"sed"や"tr"によって行う。例えば、ファイル"hoge.txt"の中の"HOH"を"SO4"に置換したいときは以下のようにする。

1|$sed s/HOH/SO4/ ./hoge.txt

以上の置換を繰り返し行いたい場合は"g"を加える。

1|$sed s/HOH/SO4/g ./hoge.txt

また、"sed"による行の削除も便利である。ファイル"hoge.txt"中の"modified"という文字列を含む行を削除したいとき、以下のようにする。

1|$sed '/modified/d' ./hoge.txt

"sed"同様、"tr"も文字列の置換に用いることができる。"tr"の場合はファイルのリダイレクト(<)が必要である。"hoge.txt"中の"foo"という文字列を"bar"に置換したいとき、以下のようにする。

1|$tr foo bar < hoge.txt

"tr"のとても便利な使い方のひとつにファイル中の小文字のアルファベットを一気に大文字に変換できるというものがある。"hoge.txt"の小文字を大文字に置換したいとき、以下のようにする。

1|$tr a-z A-Z < hoge.txt

また、"tr"を用いればファイル中の空白文字を改行に置換することもできる。ファイル"hoge.txt"の空白全てを改行に置換するには以下のようにする。

1|$cat hoge.txt |tr " " "\n"

空白文字を削除したいときは以下のように打つ。

1|$cat hoge.txt |tr -d " "
このエントリーをはてなブックマークに追加

Site search

ページのトップへ戻る