解决执行shell命令时出现argument list too long错误的问题

如果执行shell命令时出现argument list too long的错误,其原因是需要操作的目标文件过多,比如超过2万个文件。
解决方式就是分批甚至逐个处理目标文件。

1. grep命令

命令行执行:

grep "Java" * -l

如果返回:

zsh: argument list too long: grep

命令改为:

ls | xargs -n 100 grep "Java" -l

说明:-n参数表示每批执行多少条数据。

2. cp命令

命令行执行:

cp -r *.zip ../result/

如果返回:

zsh: argument list too long: cp

命令改为:

find . -name "*.zip" -exec cp {} ../result/ \;

3. rm命令

命令行执行:

rm -f *.zip

如果返回:

zsh: argument list too long: rm

命令改为如下任意一种:

ls *.zip | xargs rm -f
find . -name "*.zip" -exec rm -f {} \;

Guess you like

Origin blog.csdn.net/chenzhengfeng/article/details/131395173