わかりましたエマルジョン誰かがこのフォーラムに質問しましたが、私が知っている限り、それらのどれも他の行のモードの問題に対処していませんでした。つまり、テキストファイルが与えられると
( one ) ( two ) (
three
)
four
ペアの要素が別の行にあっても、各「(」と「)」ペアの間のすべての項目をどのように削除できますか?必要な結果は次のとおりです。
() () ()
four
ベストアンサー1
perl:slurpを使用して入力全体を単一の文字列として処理し、コマンドs
にフラグを使用してs///
改行文字が通常の文字として扱われることを示します。
perl -0777 -pe 's/\(.*?\)/()/sg' <<END
( one ) ( two ) (
three
)
four
END
() () ()
four