Chinaunix首页 | 论坛 | 博客
  • 博客访问: 353891
  • 博文数量: 49
  • 博客积分: 817
  • 博客等级: 军士长
  • 技术积分: 496
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-16 19:05
文章分类

全部博文(49)

文章存档

2014年(6)

2013年(7)

2012年(8)

2011年(28)

分类: LINUX

2011-05-01 17:57:13

使用time命令比较两种方式所用的时间

(1) time find /etc/ -type f -name "*.conf" -exec ls '{}' \;
(输出一大堆文件,这里省略)
real    0m0.202s
user    0m0.051s
sys     0m0.149s

(2) time find /etc/ -type f -name "*.conf" | xargs ls
(输出一大堆文件,这里省略)
real    0m0.009s
user    0m0.001s
sys     0m0.008s

两条find的命令结果相同,在我机器上都能找到199个文件,可以看出,所查找到的文件数量比较多时,用xargs明显比用exec的效率高。

注:如果在对 xargs 的输出中含有 "white  space, quote marks, or backslashes" ,则需要配合xargs的 -0 参数和find 的 -print0参数(是零不是欧),否则会出现错误输出。
例:
find /etc/ -type f -name "*.conf" -print0 | xargs -0 ls | wc -l
阅读(1023) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~