关于unix:仅在命令grep result上显示唯一文件名

Show unique filename only on command grep result

本问题已经有最佳答案,请猛点这里访问。

当我对某个字符串进行grep时,我试图只显示唯一的文件名。目前,如果某个字符串在一个文件中出现多次,我将得到具有相同文件名的多个结果。

例如:

如果我有一个字符串"string12345",它在filename1.txt内的几行中出现3次,在filename2.txt内的几行中出现3次,以及当我使用*grep'string12345.txt时,它显示了filename1.txt和filename2.txt的3次出现。

现在,我试图实现的是只显示一次filename1.txt和filename2.txt。提前谢谢。


使用-l标志。

TXT:

1
2
Hello, World!
Hello, World!

GRIP搜索:

1
2
3
4
5
$ grep ./ -re"Hello"
./test.txt:Hello, World!
./test.txt:Hello, World!
$ grep ./ -re"Hello" -l
./test.txt

从手册中:

1
2
-l, --files-with-matches
              Suppress  normal  output;  instead  print  the name of each input file from which output would normally have been printed.  The scanning will stop on the first match.