在某些集羣中,我需要輸入某個目錄並列出並選擇一些文件。問題是可能有數百萬個非常小的文件。如果我做xargs不起作用時如何處理數百萬個文件
ls -l
這是非常低效的。但是,如果我嘗試應該是更好的選擇,像
find . -name "*.mol2" | xargs ls
它幾分鐘,而且我沒有得到任何答案...
我不知道是否有像這樣一個情況下,更好/更快的方法。當然,我可以告訴產生所有這些文件的人,但這不在問題的範圍之內。謝謝
在某些集羣中,我需要輸入某個目錄並列出並選擇一些文件。問題是可能有數百萬個非常小的文件。如果我做xargs不起作用時如何處理數百萬個文件
ls -l
這是非常低效的。但是,如果我嘗試應該是更好的選擇,像
find . -name "*.mol2" | xargs ls
它幾分鐘,而且我沒有得到任何答案...
我不知道是否有像這樣一個情況下,更好/更快的方法。當然,我可以告訴產生所有這些文件的人,但這不在問題的範圍之內。謝謝
最明顯的是:
find . -name "*.mol2"
但隨着數以百萬計的文件仍然需要時間 - 至少是第一次。第二次希望可以緩存目錄。
對於外界範圍:創建子目錄也許命名爲子,所以foobarbaz123.mpl2將進入富/酒吧/巴茲/ foobarbaz123.mpl2
爲什麼密切票???? – flow 2011-06-08 16:25:38
這裏的問題很可能是通過文件系統索引搜索如此多的文件,無論是使用ls還是find。鑑於這種情況,find是你的最佳選擇,但不要打擾xargs,將你的文件名輸出到另一個文件中以「緩存」這些命中,以便稍後可以在列表中運行命令。 – Demosthenex 2011-06-09 12:51:32
看起來像一個好計劃 – flow 2011-06-09 19:44:57