Linux中“Argument list too long”解决方法
2017-11-23 10:42
477 查看
文章作者:Tyan
博客:noahsnail.com | CSDN | 简书
2.1 问题:要删除
命令1为:
命令2为:
2.2 问题:要拷贝
命令1为:
命令2为:
http://www.cnblogs.com/peida/archive/2012/11/14/2769248.html
博客:noahsnail.com | CSDN | 简书
1. 背景
Linux下使用cp,
mv,
rm等命令时经常会碰到“Argument list too long”错误,这主要是因为这些命令的参数太长,即文件个数过多。
2. 解决方案
“Argument list too long”这个问题的解决主要会用到两个命令,find和
xargs。
2.1 问题:要删除test
文件夹下以jpg
结尾的文件。
命令1为:find test/ -name "*.jpg" | xargs -i rm {}
命令2为:
find test/ -name "*.jpg" -exec rm {} \;
2.2 问题:要拷贝test
文件夹下以jpg
结尾的文件到train
目录。
命令1为:find test/ -name "*.jpg" | xargs -i cp {} train
命令2为:
find test/ -name "*.jpg" -exec cp {} train \;
3. 命令解析
find test/ -name "*.jpg"是指在
test文件夹下查找名为
*.jpg的文件。
xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。
-i会将
xargs的内容赋值给
{}。
-exec参数后面是指执行其后面的命令,
-exec以
;为结尾,由于各个系统中分号的意义不同,因此用
\进行转义,即
\;,
{}会被
find命令的结果替换。
参考资料
http://man.linuxde.net/xargshttp://www.cnblogs.com/peida/archive/2012/11/14/2769248.html
相关文章推荐
- linux Argument list too long错误解决方法
- Argument list too long”错误解决方法汇总
- linux xargs 命令及argument list too long 的处理方法
- Argument list too long 错误解决方法汇总
- Linux下通过rm -f删除大量文件时提示"-bash: /bin/rm: Argument list too long"的解决方法
- Linux下rm命令提示“Argument list too long”无法执行解决方法
- Linux下rm命令提示“Argument list too long”无法执行解决方法
- Template within template: why “`>>' should be `> >' within a nested template argument list” 解决方法
- Argument list too long解决办法
- Linux下出现 “Argument list too long”错误的解决
- linux Argument list too long 参数列表过长的办法
- 四种解决”Argument list too long”参数列表过长的办法
- Argument list too long的解决方法
- 消息队列使用注意的地方(argument list too long)linux
- AsParallel \AsQueryable<T>().ToList() [System.ArgumentOutOfRangeException was unhandled" 索引超出范围。必须为非负值并小于集合大小]解决方法
- 模板类中定义std::list::iterator iter在Linux下不识别的解决方法。
- 运维实战案例之“Argument list too long”错误与解决方法
- Linux 删除大量的文件和移动大量的文件(Argument list too long)
- Argument list too long的解决方法
- 四种解决”Argument list too long”参数列表过长的办法