使用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) |