文字列の一括置換

プログラムを作成しているとき、変数名だけ変えて、他はすべてコピペしたいときがある。数が多いと面倒なので、Linuxコマンドで一括置換する。

あらかじめ古いテキスト用のファイルと新しいテキスト用のファイルを準備しておく。ここでは「~/py」フォルダーに「old_text.txt」と「new_text.txt」の各ファイルを作成したことにする。

例として、「old_text.txt」ファイルに以下の

古い1
古い2
古い3

をコピー・アンド・ペーストして保存しておく。そして、これを以下のコマンドで書き換える。

$ sed -e "s/古い/新しい/g" ~/py/old_text.txt > ~/py/new_text.txt

すると、「new_text.txt」ファイルに

新しい1
新しい2
新しい3

と置換されて書き込まれる。

(2017/03/16更新)