>我有一个很长的模式文件和中等长度的文本文件。我只想知道模式文件中的字符串是否存在 - 我不在乎它们在哪一行。有没有办法跟踪哪些模式被发现,哪些没有?
你可以做这样的事情:
while read line; do
grep -q "$line" textFile
echo "${line}: $?"
done < patternFile
遍历patternFile
,并为每个模式调用textFile
上的grep -q
。 grep -q
不会产生任何输出,但如果找到模式,它将 bash 的退出状态设置为 0,如果未找到模式,则设置为 1。
正如另一个人评论的那样,您可以获得一个包含所有匹配模式的列表,如下所示:
while read line; do
grep -q "$line" textFile && echo "$line"
done < patternFile