【发布时间】:2012-05-12 23:09:56
【问题描述】:
我有一个使用正则表达式查找文件的脚本。代码如下:
find $dir | grep "$regex"
脚本运行有点太慢,我想优化它。搜索需要一些时间来执行,我想从中获得更好的性能。我试过这个尝试:
find $dir -regex ".*${regex}.*"
我期待更快的结果,因为没有创建额外的过程来解析正则表达式。
但是结果不同,令我惊讶的是,命令“find | grep”比“find -regex”更快(尽管它需要更多的系统时间,正如人们所预料的那样)
我已经计时了这个行为:
查找 | grep 结果
real 0m12.467s
user 0m2.568s
sys 0m7.260s
查找-regex结果
real 0m16.778s
user 0m6.772s
sys 0m6.380s
您知道为什么 find -regex 解决方案较慢吗?
【问题讨论】: