我想列出包含模式的文件,而不输出包含模式的行。我认为可以使用grep
. 在这个意义上我应该如何使用grep
?例如,以下命令给出所有文件中包含“stringpattern”(不区分大小写)的所有行.txt
。我只想拥有文件的名称(±行号)。
grep -ni stringpattern *.txt
理想情况下,如果字符串/模式在一个文件中多次出现,我希望该文件有多行输出。
我想列出包含模式的文件,而不输出包含模式的行。我认为可以使用grep
. 在这个意义上我应该如何使用grep
?例如,以下命令给出所有文件中包含“stringpattern”(不区分大小写)的所有行.txt
。我只想拥有文件的名称(±行号)。
grep -ni stringpattern *.txt
理想情况下,如果字符串/模式在一个文件中多次出现,我希望该文件有多行输出。
如果您只需要匹配的文件:
我认为您不能仅使用 grep 来仅打印文件和行号,因为使用 option
-n
,它会在每一行 'file:line:match' 上输出。如果文件名既不包含换行符也不包含:
换行符,您可以通过管道将cut
其仅获取您想要的内容。/dev/null
需要*.txt
扩展为仅一个文件名的情况,grep
否则将不会打印文件名。使用 GNU 实现grep
或兼容,您可以使用-H
/--with-filename
代替以确保始终打印文件名。