sedでファイル中の文字列を置換する時、別名のファイルへリダイレクトしてた。 これが面倒でカッコ悪くて人前ではできないので、上書き置換できたらいいと常々思っていたところで、今更ながらその方法をGoogle先生にお尋ねしたのである。 まず、中身が「aaa」というテキストファイル「test.txt」を用意する。 $ cat test.txt aaa ここで、sedに「-i」オプションを付けると、上書き置換するというのである。 $ sed -i -e "s/aaa/bbb/g" test.txt 結果はこうなる。 $ cat test.txt bbb さらに、「-i」オプションに文字列を付けくわえると、バックアップファイルまで作成してくれるのである。 $ sed -i".bak" "s/bbb/ccc/g" test.txt 確認するとこうなる。 $ more test.txt* :::::::