3
我需要將兩個目錄結構(最多目錄深度20級)比較大約十億文件的每個DIFF文件夾遞歸與多線程
我發現平常diff -r /location/one /location/two
緩慢。
是否有任何多線程差異的實現?或者可以通過將shell
和diff
結合在一起來實現嗎?如果是這樣,怎麼樣?
我需要將兩個目錄結構(最多目錄深度20級)比較大約十億文件的每個DIFF文件夾遞歸與多線程
我發現平常diff -r /location/one /location/two
緩慢。
是否有任何多線程差異的實現?或者可以通過將shell
和diff
結合在一起來實現嗎?如果是這樣,怎麼樣?
您的磁盤將成爲瓶頸。
除非你正在研究tmpfs,否則你可能只會失去速度。這就是說:
find -maxdepth 1 -type d -print0 |
xargs -0P4 -n1 -iDIRNAME diff -EwburqN "DIRNAME/" "/tmp/othertree/DIRNAME/"
應該做的比較樹(在這種情況下.
至/tmp/othertree
)的一個相當不錯的工作。
它現在有一個缺陷,因爲它不會檢測到在.
中不存在otherthree
的頂層目錄。 我離開,作爲一個練習留給讀者 - 雖然你可以很容易地重複最多4個併發進程反向
的參數-P4
到xargs的指定要進行比較。
也看看the xjobs
utitlity哪個在分離輸出方面做得更好。我認爲用GNU xargs(如圖所示)不能刪除-q
選項,因爲它會混合差異(?)。
很好,雖然這個小問題是非常好的解決方案,謝謝! –
可能對[GNU並行](http://www.gnu.org/software/parallel/) – hometoast
@hometoast或make -j或xjobs或... UNIX 1-tool-1-job工作中的哲學:) –
sehe