0

私はいくつかのテキストコンテンツを持っています。

パイプ[]を使用してテキストを置き換えたい。 このスクリプトを使用できます:!!!
cat myfile | sed -r 's/\[.+\]/!!!/'

どうすれば複数行.できるので、CR、LFなどを処理できますか?
たぶん、awk、perl、または同様のものですか?
最も単純なソリューションが望ましいです。

4

2 に答える 2

1
sed -n 'H; $ {x;s/\[.+\]/!!!/p;}' myfile

sed はデフォルトで行ごとに動作するため、デフォルトでは CR LF はありません。H、バッファ内の読み取り時にすべての行をキャッチし、$ は最後の行で反応します (CR を含むすべてのファイルがバッファリングされます)、x はバッファを取得し、p が結果を出力する前に sed が全体に適用されます (-n of sed remove指定印刷以外の出力)

于 2013-10-31T12:33:07.190 に答える