234 你如何grep只返回匹配的行?即结果中省略了路径/文件名。 在这种情况下,我想查看当前目录中的所有.bar文件,并搜索FOO。 find . -name '*.bar' -exec grep -Hn FOO {} \; linux unix grep find — 艾伦·托马斯 source
375 没必要find。如果您只是在特定目录中寻找模式,就足够了: grep -hn FOO /your/path/*.bar -h隐藏文件名的参数在哪里,例如man grep: -h,--no-文件名 在输出中禁止文件名的前缀。当只有一个文件(或只有标准输入)要搜索时,这是默认设置。 请注意,您使用的是 -H,--with-filename 打印每个匹配项的文件名。当要搜索多个文件时,这是默认设置。 — fedorqui'停止伤害' source 行号可以省略吗? — javadba @javadba,您可能正在使用别名,键入alias grep。要忽略别名,请输入\grep ... — fedorqui'SO stop harm' 1 是的,它使用别名。 — javadba
6 从手册页: -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. — TC1 source