Perlで改行あり複数行(multiline)を正規表現置換する

    >


foofumiya.org✜ASUS:/mnt/c/pg$ printf "hoge\nfuga\nfoo" | perl -pe 's/.*fuga//igs'
hoge

foofumiya.org✜ASUS:/mnt/c/pg$ printf "hoge\nfuga\nfoo" | perl -pe 'BEGIN{undef $/;} s/.*fuga//smg'

foo

Rubyはオプション指定するだけでいいんですけどねー…。

Bashから標準入力渡して複数行の置換って場合は、sedは無理、Pythonもできなげ、んで残ったのがこのperlと、あとたぶんRubyでもできると思います。PHPもできるのかな。
今はPerlでやったけどRubyの方がコードは短くできると思う。

Multiline search replace with Perl – Stack Overflow




お困りですか?この記事で紹介していることをマンツーマンで指導、解説、代行します。まずはお気軽にお問い合わせください。


Close Menu