错误:" grep:参数列表太长"

时间:2015-04-19 07:39:34

标签: linux bash unix grep find

我正在尝试运行以下命令,但是获取参数太长错误。你能帮忙吗?。

HOST# grep -rl 'pattern' /home/*/public_html/*
-bash: /bin/grep: Argument list too long

有没有办法覆盖此错误并在所有用户public_html目录中grep我想要的模式匹配文件。同一台服务器中大约有500多个用户。

1 个答案:

答案 0 :(得分:30)

使用find

find /home/*/public_html -type f -exec grep -l 'pattern' {} +

+修饰符使其将文件名分组为可管理的块。

但是,您可以使用grep -r执行此操作。这个参数应该是目录名,而不是文件名。

grep -rl 'pattern' /home/*/public_html

这将只有500多个参数,而不是数千个文件名。