我正在尝试运行以下命令,但是获取参数太长错误。你能帮忙吗?。
HOST# grep -rl 'pattern' /home/*/public_html/*
-bash: /bin/grep: Argument list too long
有没有办法覆盖此错误并在所有用户public_html目录中grep我想要的模式匹配文件。同一台服务器中大约有500多个用户。
答案 0 :(得分:30)
使用find
find /home/*/public_html -type f -exec grep -l 'pattern' {} +
+
修饰符使其将文件名分组为可管理的块。
但是,您可以使用grep -r
执行此操作。这个参数应该是目录名,而不是文件名。
grep -rl 'pattern' /home/*/public_html
这将只有500多个参数,而不是数千个文件名。