HTMLコンテンツの一括置き換え(シェルスクリプト編)

上司は言う。

「ドメイン、今度変わるからね。」

「この商品名Aを商品名Bに全ページ、置換えてね。」

「イメージチェンジで、全部のヘッダ、フッタを置換えてね。」

 など、簡単に言ってくれるのが世の中の常。

 

で、1,000ページ以上のhtmlページのドメイン名を一括変更する例を紹介。

■htmlページを一括変更する

 まず、シェルスクリプトを作る。

change_string.sh 

 #! /bin/sh
# 2003.12.02
# Y.Sasaki

# 使い方
# ./change_string.sh

# hoge.com を foo.com に一括変更するシェルスクリプト
# ディレクトリの指定を自分の環境に合わせること

for i in `find /export/home/web/htdocs -name '*.html' -print`; do
cp -pf $i $i.new;
sed 's@hoge.com@foo.com@g' $i > $i.new && mv $i.new $i;
done

対象ディレクトリ: /export/home/web/htdocs/*

対象ファイル名: *.html 

置換える文字: hoge.com を foo.com に置換える。 

 

 ■テストしてから本番実行する

$ chmod +x change_string.sh
$ ./change_string.sh

対象ディレクトリを /export/home/web/htdocs2 などとcp -prf でコピっておいてテストするとよかれ。