所以我有一个包含~50个文件的目录,每个文件包含不同的内容。我经常发现自己不记得哪些文件包含什么。 (这不是命名的问题 - 它有点像程序列表而不记住哪些文件包含条件)。
无论如何,到目前为止,我一直在使用
cat * | grep "desiredString"
我知道的字符串在那里。但是,这只是给了我包含所需字符串的行。这通常已经足够了,但如果可能的话,我希望它能为我提供文件名。
我怎么能这样做?
答案 0 :(得分:1)
听起来你想要grep -l
,它会列出包含特定字符串的文件。您也可以直接将文件名参数传递给grep
并跳过cat
。
grep -l "desiredString" *
答案 1 :(得分:0)
在包含您要搜索的文件的目录中:
grep -rn "desiredString" .
这可以列出所有匹配“desiredString”的文件,包括文件名,匹配行和行号。