好的,我知道我能做到
grep -rhI "string1" .
但我可以从 .txt 文件中获取字符串吗,这样每个字符串都在一个新行上,例如
string1
string2
string3
因为我有很多字符串需要处理
grep rhI "string1|string2|string3"
会很痛苦..
答案1
将所有字符串放入一个文件中,如下所示:
$ cat strings
string1
string2
string3
并执行:
$ grep -rhIoFf strings
编辑
如果它不完全是string1
您需要的输出(-o 的效果),请继续阅读
将文件字符串中的字符串列表(如果它们没有空格或换行符)转换为用 分隔的一个字符串|
:
filter=$(printf "%s|" $(cat strings))
然后,使用该字符串作为 grep 的过滤器:
grep -rhIE "${filter%?}"