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