当做这样的事情时:
cat *.* | grep mystring
是否有可能知道每个匹配项来自哪个文件?如果不能,那还有什么替代方案?
答案1
使用grep -l:
-l, --files-with-matches Suppress normal output; instead print the name of each input file from which output would normally have been printed.
例如
$ echo foo > file1 $ echo bar > file2 $ grep -l foo * file1
或者使用行号在哪里出现字符串:
$ grep -rn foo . file1:1:foo