我有一个使用正则表达式查找文件的脚本。代码如下:
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 解决方案较慢吗?