来自查找结果的 grep 字符串



我正在尝试按如下方式查找特定文件:

locate myfile.conf

然后打印我要查找的所有特定字符串

locate myfile.conf | xargs cat | grep filename

该命令返回我的两行

filename
filename

现在,我怎么知道"文件名"找到的具体myfile.conf位置是什么?

还有另一种简单的方法可以实现我需要的东西?

cat命令在使用 xargs 时毫无用处

--color帮助突出显示文件位置

-H显示文件名及其匹配结果的路径

-n显示文件内的行号

locate myfile.conf | xargs grep --color -Hn filename

我的假设是,在这种情况下,您有某些具有特定字符串filename*.conf文件,并且您希望找到具有特定字符串的文件。 对吧? 如果是这样

试试这个

grep -l filename `find ./ -name *.conf`

您可以消除cat并仅使用grep

locate myfile.conf | xargs grep filename

Grep 会将匹配文件的文件名附加到每个输出行。

最新更新