我正在尝试按如下方式查找特定文件:
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 会将匹配文件的文件名附加到每个输出行。