我有一个包含超过 100,000 个文件的目录。我想知道字符串 "str1"
是否作为这些文件内容的一部分存在。
命令:
grep -l 'str1' *
读取所有文件所花费的时间太长。
如果找到匹配项,我如何让 grep
停止读取任何进一步的文件?任何单线?
注意:我试过 grep -l 'str1' * | head
但该命令花费的时间与前一个命令一样多。
最佳答案
在命令参数中命名 100,000 个文件名会导致问题。它可能超过了 shell 命令行的大小。
但是如果您使用递归选项并仅使用文件所在目录的名称(即 .
如果您想在当前目录):
grep -l -r 'str1' . | head -1
关于linux - grep - 限制读取的文件数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41402247/