foldrr's weblog

旧ブログ http://d.hatena.ne.jp/foldrr/

sed で文字列を置き換える

問題

ファイル内の文字列を簡単に置き換えたい。

解決方法

sed コマンドを使う。

$ sed -e s/置換元正規表現/置換先正規表現/g 置換元ファイル

リダイレクトしないこと

置換結果は標準出力となる。
リダイレクトで置換元ファイルを指定すると、置換元ファイルが空になってしまうので注意。
ファイル内容を置換する場合は下記のようにする。

$ sed -e s/置換元正規表現/置換先正規表現/g 置換元ファイル > 置換元ファイル.new
$ cp -f 置換元ファイル.new 置換先ファイル