keima's caprice diary

気付いたことをメモのように綴ります。なるべく義務っぽくならないように気まぐれに記録します。

perl one-liner substitute 置換

perlワンライナーで単純な置換作業をするならコレ

単純な置換perl -pe 's/[before]/[after]/;' [対象ファイル]

ただコレ、1行ずつ評価するため複数行の書き換えは出来なしすせそ。
複数行の場合-0オプションを使い、オプション修飾子にmつけて実行すればおk。

全行の置換perl -0pe 's/[before]/[after]/m;' [対象ファイル]

-pはデフォルトでは1行ずつ-eの引数を評価する。
-0でセパレータがヌル文字(\0)になり、ファイル全体を一度に読み込む。
サイズの大きいファイルに対して実行しない方が良い。
正規表現のオプション修飾子にmを指定し、複数行モードに する。