タグ

ブックマーク / vikslinuxtips.blogspot.com (1)

  • bashとsedで複数ファイルのテキストを置換する方法

    複数ファイルにまたがって同じテキスト置換を行う方法。 例えばディレクトリ内のHTMLファイル全てに対して置換を行いたい場合1個1個ファイルを開いて編集するのは面倒なので、一発で行いたい。 find . -name "*.html" -exec sed -i 's/元テキスト/置換後テキスト/' {} \; 何をしているのか細かく説明すると find . -name "*.html" -exec このディレクトリ(.)の中にある名前が*.htmlにマッチするファイルに対して sed -i 's/元テキスト/置換後テキスト/' {} \; 上書き保存で(-i) 元テキストを置換後テキストに変更する となる。 ちなみに {} はfindの結果で得た(この場合はhtmlファイルのファイル名)が入るようになっている。

  • 1