假设我有两个名为a.txt
和 的文件b.txt
。a.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
从连字符减号字符开始-
。