不定期日記

J2千葉観戦記, ライブの感想を中心とした備忘録

2003-05-30 (Fri)

_ [Program] Perlによる複数ファイルの一括置換

Perlを用いて複数のファイル中に含まれる同じ記述を、別のものに一括で置換する方法です。

例えば、メールアドレスを変更したとき、WebページのすべてのHTMLファイルに書かれているメールアドレスを新しいものに置換する場合、

perl -i -pe 's,aaa\@old.com,bbb\@new.com,' *.html

のようにします。

ここで、perlに与えたオプションは、それぞれ概ね次のようになります。詳しくはマニュアル perl(1)を読んでください。

-e : コマンドラインに直接スクリプトを書きます。この例では、's,aaa\@old.com,bbb\@new.com,' というスクリプトを実行しています。
-p : 標準入力、もしくは指定したファイル名のファイルから、<>演算子を用いて入力を行い、これに対して繰り返しスクリプトを実行し、結果を標準出力に出力します。
-i : <>演算子で与えられたファイルを直接書き換えて修正します。 '-i.bak' のように拡張子を与えると、与えた拡張子をつけたバックアップファイルを作成します。

2001|01|07|08|09|10|11|12|
2002|01|02|03|
2003|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|08|09|10|11|12|
2017|03|05|06|09|11|12|
2018|05|08|10|11|
2020|07|