2
我有一个使用正则表达式查找文件的脚本。代码如下:查找-regex比find |更慢grep
find $dir | grep "$regex"
该脚本运行有点太慢,我想优化它。搜索需要一些时间来执行,我希望从中获得更好的性能。我试过这个尝试:
find $dir -regex ".*${regex}.*"
由于没有创建额外的进程来解析正则表达式,因此我期待稍快的结果。
然而结果却是不同的,并令我惊讶的命令“找到| grep的”比“找到-regex”更快(尽管它需要更多的系统时间,作为一个本来期望)
我有定时此行为:
查找| grep的结果
real 0m12.467s
user 0m2.568s
sys 0m7.260s
查找-regex结果
real 0m16.778s
user 0m6.772s
sys 0m6.380s
你有什么想法,为什么找-regex解决方案是慢?
谢谢你的提示。在这个用例中,我不需要-print0,但它是我经常使用的开关。我在Ruby中找到了查找的结果,并将字符串拆分为“\ n”,因此除非名称中有\ n,否则我应该没问题。 – Huygens