Chinaunix首页 | 论坛 | 博客
  • 博客访问: 900894
  • 博文数量: 113
  • 博客积分: 3160
  • 博客等级: 少校
  • 技术积分: 1801
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-19 10:09
文章分类

全部博文(113)

分类: Python/Ruby

2012-09-18 17:50:29

在使用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的输入。

阅读(3646) | 评论(0) | 转发(0) |
0

上一篇:set命令解析

下一篇:sed流编辑器详解

给主人留下些什么吧!~~