Grepは-vと-A / Bを同時に使用することはできません。

Grepは-vと-A / Bを同時に使用することはできません。

だから-vパラメータと-Aパラメータと一緒にgrepを使ってみました。

だから私のファイルには次のテキストがあります。

This error
-this
-this
-that
[text I want]
This error
-asd
-asfag
-adsfhs
[text I want]
[text I want]
This error
-asdgsda
-asdgg
-gasdg

尾を見た後、このログファイルは同じ内容で埋められ、This errorその後に3行の構文があることがわかりました。これはgrep -A3 'This error'、エラーとそれに応じて3行を表示することを使用して簡単に見つけることができました。

ところで、それを除いて全部見たくて-vパラメータを使ってみたのですが。これにより、grep -v -A3 'This error'grepがまったく機能しないかのようにファイル全体が返されます。

ここで問題は何ですか?

ベストアンサー1

sed代わりに利用可能であれば、grep良い解決策を提供します。

sed -e '/This error/,+3d' myfile

This errorこれにより、対応する文字列と次の3行を含む行が削除されますが、残りはすべて出力されます。このsedコマンドにはGNUが必要ですsed+3アドレスは拡張子です)。

おすすめ記事