Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix Grep只列出一次文件_Unix_Command Line_Grep - Fatal编程技术网

Unix Grep只列出一次文件

Unix Grep只列出一次文件,unix,command-line,grep,Unix,Command Line,Grep,我在我的项目中寻找一些模式,在一些文件中重复了太多。。如何告诉grep每个文件只显示一次 我正在使用: grep -R "my_pattern" * 您可以这样做,它将使grep只打印第一个匹配项: grep -m 1 -R "pattern" * 您可以使用“uniq”命令: 这将为您排序并提供唯一的值。您可以使用“计数”功能: grep$TERM-crl$DIR -c返回每个文件中的点击次数,-l删除任何计数为0的文件,如果您希望仅删除包含“我的模式”的文件的名称: 但是上面的命令忽略所

我在我的项目中寻找一些模式,在一些文件中重复了太多。。如何告诉grep每个文件只显示一次

我正在使用:

grep -R "my_pattern" *

您可以这样做,它将使grep只打印第一个匹配项:

grep -m 1 -R "pattern" *
您可以使用“uniq”命令:

这将为您排序并提供唯一的值。

您可以使用“计数”功能:

grep$TERM-crl$DIR

-c
返回每个文件中的点击次数,
-l
删除任何计数为0的文件,如果您希望仅删除包含
“我的模式”
的文件的名称:

但是上面的命令忽略所有以点开头的子文件夹

如果希望子文件夹
.git
中的文件名包含
”https://github.com“


如果您只想知道文件名,那么@EtanReisner的建议就是最好的选择。你能澄清一下情况吗。。Etan评论对我来说非常有效,但如果你能看到一段代码,就像我在答案中看到的那样,那就更好了:)Nicolas是我的选择,因为它保留了语法颜色!
grep -R "my_pattern" * | sort -u
grep -lR "my_pattern" *
grep -lR "https://github.com" .git/*