複数のパラメータでgrep -vを使用する

複数のパラメータでgrep -vを使用する

これを行うより簡単な方法はありますか? grep -v foo file | grep -v bar

egrepを使う非常にエレガントな方法があるかもしれませんが、通常のold grepを使うのはどうですか?

編集:grep -v 'foo\|bar' fileGNU grepでのみ動作するようです。私はSolarisを使用しています。解決策はありますか?

ベストアンサー1

一般的に見られるように、オプションではなく最初の引数の代わりに各式に引数を渡すことで、単一のコマンドgrepで複数のテストを実行できます。-e

$ grep -v -e foo -e bar file

これは、コマンドが実行するのと同じ操作を示しています。つまり、file「foo」や「bar」を含まない行を印刷します。

-vこれを削除すると、論理演算も変更されることに注意してください。 "foo"を含むすべての行を取得します。または「バー」。

おすすめ記事