在使用find命令的-exec选项处理匹配到的文件时,find命令将所有匹配到的文件
一起传递给exec。
不幸的是,有些系统对能够传递给exec的命令长度有限制,这样find命令运行几
分钟之后就算出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。
这就是xargs的用处所在,特别是与find命令一起使用,exec会发起多个进程,而
xargs只有一个。
: find ./ -perm -7 -print | xargs chmod o-w
查找权限为7的文件并传递给chmod处理。
** xargs
xargs从标准输入接受参数,默认是以多个空格或者换行符作为间隔符。但是,由
于有些文件名会包含多个空格和换行符,因此,在使用的时候,需要加上-0选项。
同时,如果是find命令,你需要加上-print0选项,以使其输出匹配xargs的输入。
阅读(3604) | 评论(0) | 转发(0) |