Grep列表文件一次

时间:2015-02-27 15:47:08

标签: unix command-line grep

我在项目中寻找一些模式,并且在某些文件中重复过多..我怎么能告诉grep每个文件只显示一次?

我正在使用:

grep -R "my_pattern" *

4 个答案:

答案 0 :(得分:4)

你可以这样做,它会让grep只打印第一场比赛:

grep -m 1 -R "pattern" *

答案 1 :(得分:3)

您可以使用" uniq"命令:http://unixhelp.ed.ac.uk/CGI/man-cgi?uniq

grep -R "my_pattern" * | sort -u

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

答案 2 :(得分:0)

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

grep $TERM -crl $DIR

-c会返回每个文件中的点击次数,而-l会删除任何计数为0的文件

答案 3 :(得分:0)

如果您只想要包含 "my_pattern" 的文件的名称

grep -lR "my_pattern" *

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

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

grep -lR "https://github.com" .git/*