sed または awk で複数行を置き換える [閉じる]

sed または awk で複数行を置き換える [閉じる]

sedまたはawkを使用してsmbファイルの5行を置き換えようとしていますが、改行を処理する方法がわかりません。

ベストアンサー1

sedは一度に1行だけ動作するため、この点では非常に悪いです。私が見た唯一の適切な技術は次のとおりです。これ、sedの保持バッファにファイル全体を保存し、一度にすべての操作を実行することが含まれます。

sed -n '1h;1!H;${g;s/search/replace/;p;}'

可能であれば、Perlを使用してこれを行う方がはるかに簡単です。

perl -0pe 's/search/replace/'

search\n改行文字を表すためにsを含めることができます。

おすすめ記事