ファイルに書かれている文字列の置換


perl -p -i -e ‘s/検索文字列/置換文字列/g’ 対象ファイル名

拡張子がhtmlのファイルすべての<html>を<html lang=”ja”>に置換するには、

perl -p -i -e ‘s/<html>/<html lang=”ja”>/g’ *.html

ファイルは上書きされますので、

バックアップを取っておきましょう。

 -i.bak のようにiオプションに拡張子をつけるとバックアップとりながら処理でできる。

下記を参照しました。

http://kazmax.zpp.jp/linux/lin_replace.html

2012/9/26追記

# perl -p -i.back -e ‘s/(.*)(\[.*\])/\2\1\2/g’ test.txt

111.111.111.111 – – [16/Sep/2012:08:17:16 +0900] “GET / HTTP/1.1” 403 406

↓置換結果

[16/Sep/2012:08:17:16 +0900]111.111.111.111 – – [16/Sep/2012:08:17:16 +0900] “GET / HTTP/1.1” 403 406

# perl -p -i.back -e ‘s/^\[.*?\]//g’ test.txt

[16/Sep/2012:08:17:16 +0900]111.111.111.111 – – [16/Sep/2012:08:17:16 +0900] “GET / HTTP/1.1” 403 406

↓置換結果

111.111.111.111 – – [16/Sep/2012:08:17:16 +0900] “GET / HTTP/1.1” 403 406

?\]

はてなをつけると最短一致となる

  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。