Как работать с миллионами файлов, когда xargs не работает - PullRequest
0 голосов
/ 08 июня 2011

В каком-то кластере мне нужно войти в какой-то каталог и список и выбрать несколько файлов.Проблема в том, что, вероятно, есть даже миллионы очень маленьких файлов.Если я сделаю

ls -l

Это очень неэффективно.Но если я попробую предполагаемую лучшую альтернативу, такую ​​как

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

Это займет несколько минут, и я не получу никакого ответа ...

Интересно, есть ли лучшие / более быстрые методы для ситуацийкак этот.Конечно, я мог бы что-то сказать человеку, который сгенерировал все эти файлы, но это выходит за рамки вопроса.Спасибо

Ответы [ 2 ]

0 голосов
/ 10 июня 2011

Очевидным будет:

find . -name "*.mol2"

Но с миллионами файлов это все равно займет время - по крайней мере, в первый раз. Надеемся, что второй каталог будет кэширован.

Для внешней области видимости: создайте подкаталоги, которые могут быть названы как подстроки, поэтому foobarbaz123.mpl2 перейдет в foo / bar / baz / foobarbaz123.mpl2

0 голосов
/ 08 июня 2011

Как насчет ls -al *.mol2 .*mol2?

...