如何将文字值(任意值)添加到 grep -Ff

如何将文字值(任意值)添加到 grep -Ff

我使用此代码来过滤find命令的结果:

grep -Ff /path/to/file

现在,我想向该grep命令添加任意值。

换句话说,我想说,嘿 grep,使用固定模式,并从该文件加载您的模式,并且这是该文件中没有的静态模式

我怎样才能做到这一点?

PS背景: 我问我可以根据另一个文件的行过滤掉查找结果吗?,现在我想根据文件中的条目Dependencies或者它们是否为 或 来Infra过滤查找结果Base。但我无法将Infra和添加BaseDependencies文件中。该文件仅适用于模块。

答案1

使用的模式是从 指定的所有文件以及 指定的所有单独模式grep中读取的模式的集合。-f-e

如果您想pattern向命令添加单个模式:

grep -F -f /path/to/file -e 'pattern'

-f和选项都-e可以重复。

答案2

您可以使用子 shell 将输入模式(集合)传递给 grep。例如,如果您的模式文件包含以下行:

$ cat pattern.txt
foo
bar

并且您还想同时搜索 baz(您的固定模式),然后尝试:

$ grep -f <(echo baz; cat pattern.txt) infile.txt

相关内容