我该如何使用grep命令在locate命令找到的文件中定位特定的单词?
locate my.cnf | grep user
我希望grep命令在locate命令找到的文件中搜索单词"user"。
我该如何使用grep命令在locate命令找到的文件中定位特定的单词?
locate my.cnf | grep user
我希望grep命令在locate命令找到的文件中搜索单词"user"。
尝试:
locate my.cnf | xargs grep user
使用命令替换而不是管道:
grep user `locate my.cnf`
xargs
方法,因为它保留了 grep 的高亮显示。 - Michael Osl--color=always
参数让grep始终输出彩色结果。 - cha0sitelocate -0 my.cnf | xargs -n1 -0 grep user
grep
自动输出所有匹配的行(您的文件可能有多个匹配的行)。如果你想在它们前面显示行号,可以使用 grep
的 -n
开关。否则,你可以让它只输出每个文件中第一个匹配项,使用 -m 1
,或者只输出与 -l
匹配的文件名。 - Marko Kudjerskilocate -0
确实是必要的。然而,在bash中,为了查看文件的完整路径,我需要在grep命令中添加-H
参数,就像这样:locate -0 *.tex | xargs -n1 -0 grep -H user
- Markuslocate -0
确实是必要的。然而,在bash中,为了查看文件的完整路径,我需要在grep命令中添加-H
,就像这样:locate -0 *.tex | xargs -n1 -0 grep -H user
- undefined如果我理解正确的话,grep user $(locate my.cnf)
或许是您正在寻找的内容。
locate
命令返回太多数据,程序会崩溃。命令行大小是有限制的。 - cha0site
xargs
。 - Robᵩ