Grep 列表文件一次
Grep list files once
我正在寻找我的项目中的一些模式,但它在某些文件中重复了太多。我怎样才能让 grep 每个文件只显示一次?
我正在使用:
grep -R "my_pattern" *
你可以这样做,它会让 grep 只打印第一个匹配项:
grep -m 1 -R "pattern" *
您可以使用"uniq"命令:http://unixhelp.ed.ac.uk/CGI/man-cgi?uniq
grep -R "my_pattern" * | sort -u
这将进行排序并为您提供唯一值。
您可以使用 "count" 功能:
grep $TERM -crl $DIR
-c
returns 每个文件中的命中计数,-l
删除任何计数为 0
如果您只想包含"my_pattern"
的文件的名称:
grep -lR "my_pattern" *
但是上面的命令忽略了所有以点开头的子文件夹。
如果您想要子文件夹 .git
中的文件名包含
"https://github.com"
:
grep -lR "https://github.com" .git/*
我正在寻找我的项目中的一些模式,但它在某些文件中重复了太多。我怎样才能让 grep 每个文件只显示一次?
我正在使用:
grep -R "my_pattern" *
你可以这样做,它会让 grep 只打印第一个匹配项:
grep -m 1 -R "pattern" *
您可以使用"uniq"命令:http://unixhelp.ed.ac.uk/CGI/man-cgi?uniq
grep -R "my_pattern" * | sort -u
这将进行排序并为您提供唯一值。
您可以使用 "count" 功能:
grep $TERM -crl $DIR
-c
returns 每个文件中的命中计数,-l
删除任何计数为 0
如果您只想包含"my_pattern"
的文件的名称:
grep -lR "my_pattern" *
但是上面的命令忽略了所有以点开头的子文件夹。
如果您想要子文件夹 .git
中的文件名包含
"https://github.com"
:
grep -lR "https://github.com" .git/*