多次 Grep 结果管道

多次 Grep 结果管道

我有一个grep结果,我想通过某些给定的过滤器标记过滤掉一些行。例如,给定下面的行,所需的输出是this is a desired line

This is a desired line
This is a desired line with filter token_1
This is a desired line with filter token_2
this is a undesired line

命令运行grep -rnw . -e "desired"

This is a desired line
This is a desired line with filter token_1
This is a desired line with filter token_2

如何过滤带有标记token_1和 的行token_2?我怀疑以某种方式使用数组功能grep_ignores=( 'token_1' 'token_2' ),但到目前为止我的尝试破坏了转义\n字符,这让我认为我应该使用awkperlsmoehow。

答案1

将要排除的模式列表放入文本文件中:

cat mypatterns.txt
token_1
token_2

现在将第一个 grep 的结果通过管道传输到此表达式:

grep -f mypatterns.txt  -v

相关内容