我有一个包含很多字符串的文件。为简单起见,假设它是换行符分隔的,并且每个字符串仅由包含字母数字 ASCII 字符和下划线组成。
现在,我想搜索一个/多个文件中是否出现任何这些字符串。如果它们不是很多,我想我可以将它们连接起来|
并使用一个 grep 。但是——如果有成千上万个呢?
答案1
您可以将文件与许多字符串一起使用,每行一个,作为grep
's-f
选项的参数,该选项告诉它查找指定文件中列出的字符串:
grep -f patterns.txt *
(或任何合适的 glob)。grep
将在给定文件中找到与patterns.txt
.
-F
如果所有字符串都是要匹配的固定字符串,您可能也应该指定。