HTMLファイルを一括で変更する(シェル・perl編)
- 2006.08.01
- Webマスター
数千ページにおよぶhtmlファイルを変更したくなったとき、たった一行のシェルスクリプトやperlが大活躍!!
- htmlファイル中の文字列「aaa.jpg」を「bbb.jpg」へ変更する
- IPアドレス(192.168.12.34)をホスト名(www.mydomain.co.jp)へ置換える
単語の一括置換えは、非常に便利。
■まずはリストアップする
現在のディレクトリ以下で、aaa.jpgを含んでいるファイルをリストアップする。
$ grep -l aaa.jpg *.html
public_htmlディレクトリ以下、全てにわたって、aaa.jpgを含んでいるファイルをリストアップする。
$ find public_html -name "*.html" | xargs -i grep -l aaa.jpg {}
Macのターミナルでは、xargsの-iオプションは付けないで実行できた。最後の{}も省略する。
■この一行で一括置き換えを実行
aaa.jpg を bbb.jpg に置換える。
$ find . -name "*.html" | xargs perl -pi -e 's/aaa.jpg/bbb.jpg/g'
たった1行で何千ページでもするっとaaa.jpgをbbb.jpgへ置き換えてくれる!!!
IPアドレス を ホスト名 に置換える。
$ find . -name "*.html" | xargs perl -pi -e 's/192.168.12.34/www.mydomain.co.jp/g'
■注意する事
実行前に必ずバックアップをとっておく。
% cp -prf public_html public_html.BAK
-
前の記事
EOModelerで新規テーブルを追加する 2006.08.01
-
次の記事
OracleのSQLコマンド 2006.08.01