別の行に表示されるパターン間のテキストの削除[重複]

別の行に表示されるパターン間のテキストの削除[重複]

わかりましたエマルジョン誰かがこのフォーラムに質問しましたが、私が知っている限り、それらのどれも他の行のモードの問題に対処していませんでした。つまり、テキストファイルが与えられると

( one ) ( two ) (

three

)

four

ペアの要素が別の行にあっても、各「(」と「)」ペアの間のすべての項目をどのように削除できますか?必要な結果は次のとおりです。

() () ()

four

ベストアンサー1

perl:slurpを使用して入力全体を単一の文字列として処理し、コマンドsにフラグを使用してs///改行文字が通常の文字として扱われることを示します。

perl -0777 -pe 's/\(.*?\)/()/sg' <<END
( one ) ( two ) (

three

)

four
END
() () ()

four

おすすめ記事