在 grep 命令之后将文件的所有内容作为关键字传递

在 grep 命令之后将文件的所有内容作为关键字传递

假设我有两个名为a.txt和 的文件b.txta.txt如果我想在文件中搜索,有什么方法可以使用文件的所有内容作为 grep 命令的模式吗b.txt

一般格式为grep

grep 'pattern' 'filename'

答案1

尝试

cat a.txt | grep -f - b.txt

或者(如果你愿意的话<( )

grep -f <(cat a.txt) b.txt

答案2

完整的解决方案:

grep -f a.txt b.txt

另类风格,适用于列表文字模式(不是正则表达式):

fgrep "`cat a.txt`" b.txt

请注意,该fgrep命令相当于grep -F.后者是一种廉价的、非万无一失的解决方案,假设 不是a.txt从连字符减号字符开始-

相关内容