包含给定字符串的文件数

24 shell grep bash files

如何计算包含给定字符串作为 bash/sh 输入的文件(在目录中)的数量?

Wol*_*olf 38

grep -l "string" * | wc -l 将在工作目录中所有文件的内容中搜索“字符串”并告诉您匹配的数量。

  • 如果目录中有很多文件,这将不起作用,它会抛出错误“zsh:参数列表太长:grep”。关于如何摆脱这个问题有什么想法吗? (2认同)
  • @user16142 grep 目录而不是文件:`grep -lr "string" directory | wc -l` 如果你不想递归搜索,你可以使用带有 maxdepth 选项的 find:`find directory -maxdepth 1 -type f -exec grep -l "string" {} + | wc -l` 请注意,第二个选项比 grep 慢。 (2认同)

wag*_*wag 9

greps参数-l将只输出它们是匹配的文件名$PATTERNwc可以算算账他们。

grep -l "$PATTERN" * | wc -l
Run Code Online (Sandbox Code Playgroud)