argument list too long错误解决

作者:佚名 上传时间:2019-05-17 版权申诉

xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理。通常情况下,xargs从管道或者stdin中读取数据,但是它也能够从文件的输出中读取数据。xargs的默认命令是echo,这意味着通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs的处理,换行和空白将被空格取代。

1. 当你尝试用rm 删除太多的文件,你可能得到一个错误信息:/bin/rm Argument list too long. 用xargs 去避免这个问题

find ~ -name ‘*.log’ -print0 | xargs -0 rm -f

2. 获得/etc/ 下所有*.c 结尾的文件列表,有几种不同的方法能得到相同的结果,下面的例子仅仅是示范怎么实用xargs ,在这个例子中实用 xargs将find 命令的输出传递给ls -l

# find /etc -name "*.c" | xargs ls –l

3. 假如你有一个文件包含了很多你希望下载的URL, 你能够使用xargs 下载所有链接

# cat list.txt | xargs wget –c

4. 查找所有的jpg 文件,并且压缩它

# find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz

5. 原因是:一个文件夹下文件太多,使用rm删除就会出现/bin/rm: Argument list too long错误,当然使用别的命令也是一样的错误,像ls,chmod等。

解决方法:
1:
ls | xargs -n 10 rm -fr ls
就解决了,这句解释为:输出所有的文件名(用空格分割) xargs就是将ls的输出,每10个为一组(以空格为分隔符),作为rm -rf的参数也就是说将所有文件名10个为一组,由rm -rf删除,这样就不会超过命令行的长度了.

2:find . -maxdepth 1 -name "*.sh" -type f -exec rm -f {} \;

用 find  命令在当前目录查找,然后用exec命令执行










本文转自 南非波波 51CTO博客,原文链接:http://blog.51cto.com/nanfeibobo/1641664,如需转载请自行联系原作者

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
argument list too long错误解决
xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理。通常情况下,xargs从管道或者stdin中读取数
Argument list too long错误 及/dev/null
1。   1>   /dev/null   表示将命令的标准输出重定向到              /dev/null 2>/dev/null
Argument list too long错误解决方法汇总
这篇文章是回复前几天在论坛一个朋友提出的问题,今天有空,整理了一下,发布出来,供大家参考! 当Linux下试图传递太多参数给一个系统命令(ls *; cp *; rm *; cat
"Argument list too long": Beyond Arguments and Limitations
Four approaches to getting around argument length limitations on the command line.
处理aix The parameter list is too long
NULL 博文链接:https://jlins.iteye.com/blog/839575
RAR
56KB
2020-12-31 17:47
运维实战案例之“Argument list too long错误解决方法
作为一名运维人员来说,这个错误并不陌生,在执行rm、cp、mv等命令时,如果要操作的文件数很多,可能会使用通配符批量处理大量文件,这时就可能会出现“Argument list t
linux xargs 命令及argument list too long 的处理方法
xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理。通常情况下,xargs从管道或者stdin中读取数据,但是
linux xargs 命令及argument list too long 的处理方法
xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理。通常情况下,xargs从管道或者stdin中读取数据,但是
Unix下使用grep命令时遇到'grep: Argument list too long'错误如何解决
这个错误通常是由于命令行参数列表太长导致的。当你使用grep命令搜索包含大量文件的目录时,参数列表可能会超过系统限制。为了解决这个问题,你可以使用find命令与grep结合,以避免参数列表过长的情况。
Unix
grep, find
2023-11-28 21:22
在Shell中使用grep命令时出现 'grep: Argument list too long' 错误怎么解决
当在Shell中使用grep命令时,如果要匹配的文件太多,会导致命令行参数列表太长,从而触发 'grep: Argument list too long' 错误。这通常是因为通配符展开导致参数列表过大
任意版本
Shell
2023-12-14 16:36