参见英文答案 >
How can I grep while avoiding ‘Too many arguments’ 5个
我试图运行以下命令,但获取参数太长错误.你能帮我吗?.
我试图运行以下命令,但获取参数太长错误.你能帮我吗?.
HOST# grep -rl 'pattern' /home/*/public_html/* -bash: /bin/grep: Argument list too long
有没有办法覆盖此错误并grep我想要在所有用户public_html目录中的模式匹配文件.同一台服务器中大约有500个用户.
解决方法
使用find
find /home/*/public_html -type f -exec grep -l 'pattern' {} +
修饰符使其将文件名分组为可管理的块.
但是,您可以使用grep -r执行此操作.这个参数应该是目录名,而不是文件名.
grep -rl 'pattern' /home/*/public_html
这将只有500个参数,而不是数千个文件名.