2011-06-08 46 views
0

在某些集羣中,我需要輸入某個目錄並列出並選擇一些文件。問題是可能有數百萬個非常小的文件。如果我做xargs不起作用時如何處理數百萬個文件

ls -l 

這是非常低效的。但是,如果我嘗試應該是更好的選擇,像

find . -name "*.mol2" | xargs ls 

它幾分鐘,而且我沒有得到任何答案...

我不知道是否有像這樣一個情況下,更好/更快的方法。當然,我可以告訴產生所有這些文件的人,但這不在問題的範圍之內。謝謝

+0

爲什麼密切票???? – flow 2011-06-08 16:25:38

+0

這裏的問題很可能是通過文件系統索引搜索如此多的文件,無論是使用ls還是find。鑑於這種情況,find是你的最佳選擇,但不要打擾xargs,將你的文件名輸出到另一個文件中以「緩存」這些命中,以便稍後可以在列表中運行命令。 – Demosthenex 2011-06-09 12:51:32

+0

看起來像一個好計劃 – flow 2011-06-09 19:44:57

回答

0

最明顯的是:

find . -name "*.mol2" 

但隨着數以百萬計的文件仍然需要時間 - 至少是第一次。第二次希望可以緩存目錄。

對於外界範圍:創建子目錄也許命名爲子,所以foobarbaz123.mpl2將進入富/酒吧/巴茲/ foobarbaz123.mpl2

0

ls -al *.mol2 .*mol2怎麼樣?

+0

它不起作用,它會停滯不前 – flow 2011-06-08 18:04:06

相關問題