echo "tea\nconst" tea const
こんな出力からtestという文字を作りたいみたいなケースでperlのワンライナーでやろうとすると何も考えないと¥nで改行されてうまくいかないです。
echo "tea\nconst" | perl -pe 's/a\ncon//m' tea const
これを防ぐためにはrecord separatorを指定してあげることでうまく動きます。オプションを付けなければセパレータは\0となります。
perl --help Usage: perl [switches] [--] [programfile] [arguments] -0[octal/hexadecimal] specify record separator (\0, if no argument)
こんな感じ。巨大なファイルとかでやると全部メモリに乗せちゃう動きになるので注意が必要ですね。
echo "tea\nconst" | perl -0pe 's/a\ncon//m' test