使用 grep 从文件中搜索变量字符串

使用 grep 从文件中搜索变量字符串

我现在尝试了一段时间

  • 从文件 test.txt 读取(其中有两行“aaaa”和“bbbb”)
  • 使用这些行来搜索文件夹及其子文件夹中的字符串

我的解决方案如下所示:

while read line 
do echo $line
    grep -irl $line /home 2>/dev/null
done < test.txt

如果我$line用它替换,会发现写入的aaaa文件,但它不起作用......?aaaa$line

也许你有想法?

答案1

grep实用程序有一个-f选项,其参数是文件名。-f告诉grep从指定文件中读取模式,然后搜索所有模式,就像这些模式是在命令行上单独指定的一样。它与其他选项相结合,例如-r.

-f由 POSIX 指定。

GNU Grep 允许将文件指定为-,因此模式从标准输入读取;POSIX 规定只有文件可以将参数指定为-标准输入;不需要这样的东西模式文件论点。

如果搜索文件的行是要在输入中查找的字符串(而不是正则表达式),请添加选项-F(对于固定字符串)。

相关内容