grep不显示路径/文件:行

你如何grep,只返回匹配的行? 即,结果中省略了路径/文件名。

在这种情况下,我想查看当前目录中的所有.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

打印每场比赛的文件名称。 当有多个文件要搜索时,这是默认值。


只需将-H替换为-h 。 查看man grep了解更多关于选项的细节

find . -name '*.bar' -exec grep -hn FOO {} ;

如果你运行man grep你会看到这个:

-h, --no-filename
    Suppress the prefixing of file names on output. This is the default when there
    is only one file (or only standard input) to search.
链接地址: http://www.djcxy.com/p/8295.html

上一篇: grep without showing path/file:line

下一篇: How to exclude certain directories/files from git grep search