你如何grep并只返回匹配的行?i、 e.结果中省略了路径/文件名.
在这种情况下,我想看看所有.当前目录中的bar文件,搜索术语FOO
find . -name '*.bar' -exec grep -Hn FOO {} \;
你如何grep并只返回匹配的行?i、 e.结果中省略了路径/文件名.
在这种情况下,我想看看所有.当前目录中的bar文件,搜索术语FOO
find . -name '*.bar' -exec grep -Hn FOO {} \;
不需要find
美元.如果您只是在特定目录中查找模式,这就足够了:
grep -hn FOO /your/path/*.bar
其中,-h
是隐藏文件名的参数,如man grep
:
-h, --no-filename
禁止在输出时为文件名添加前缀.这是默认设置
请注意,您正在使用
-H, --with-filename
打印每个匹配的文件名.这是当存在时的默认值