ファイル内の文字列を置換する

パイプ動作オプション-p、上書きオプション-iを指定すると、引数で指定 されたすべてのファイルに対する置換実行を行える。

以下の例は、カレントディレクトリのMakefile中のCFLAGS=という行を CFLAGS=-g -O2で置き換える。

% perl -pi -e 's,^(CFLAGS\s*=\s*).*,$1-g -O2,' Makefile

find & xargsと連動させるとさらに便利。

% find . -name Makefile -print | xargs perl -pi -e 's,^(CFLAGS\s*=\s*).*,$1-g -O2,'