解决执行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 {} \;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值