木曜日, 5月 21, 2009

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

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

find . -name "*.html" -exec sed -i 's/元テキスト/置換後テキスト/' {} \;

或いは
find . -type f -exec perl -p -i -e 's/<html>/<html lang="ja">/g' {} \;


Howto Replace multiple file text string in Linux
grep -rl OLDSTRING . | xargs perl -pi~ -e ’s/OLDSTRING/NEWSTRING/’

Sorted
grep -rl OLDSTRING . | sort -u | xargs perl -pi~ -e ’s/OLDSTRING/NEWSTRING/’

Sed
grep -rl OLDSTRING . | xargs sed -i -e ’s/OLDSTRING/NEWSTRING/’

0 件のコメント: