こんなファイルを作って、
% cat hoge.txt aaaline1bbb line2 cccc line1 aaa bbbb line2 cccc
ワンライナーを実行してみる。
% perl -0777 -pe 's/.*line1.*\n(.*?)\n/$1/g' hoge.txt
line2 cccc
line2 cccc
スクリプト化するとこんなコードになる。
% perl -MO=Deparse -0777 -pe 's/.*line1.*\n(.*?)\n/$1/g' hoge.txt BEGIN { $/ = undef; $\ = undef; } LINE: while (defined($_ = <ARGV>)) { s/.*line1.*\n(.*?)\n/$1/g; } continue { print $_; } -e syntax OK