shでファイル内容を一括置換

ファイル内容をsedコマンドで一括置換するシェルスクリプト

ファイル内のローカルIPアドレスをドメインに置き換える場合

#/bin/sh

for file in `ls *txt`
do
sed -e ‘s/http\:\/\/192.168.0.1\/~xxx/http\:\/\/www.nifty.com\/~xxx/g’ $
file > $file.1
echo $?

if [ $? -eq 0 ]; then
mv $file.1 $file
fi
done

↑lsで置換対象ファイルをリストアップ、書き換えたファイルをfile1に下記だし、元ファイルにmvして上書きする。

シェルスクリプト