Как делают я быстро (как быстрый как возможный) перечисляю десять файлов из очень большого каталога, какие-либо файлы?

У меня есть каталог, содержащий 0,5 миллиона текстовых файлов, и я хочу открыть один или несколько с энергией для проверки текстового шаблона. Как я могу заставить те же десять имен файлов быстро открываться как образцы? Все имена файлов неизвестны.

Я попробовал ls directory, только, чтобы найти, что это также не спешит заканчивать перечислять все файлы. Не предоставляйте мне ответы, для которых нужны метки времени проверки или другие как случайным образом или что-то еще. Здесь точка время. Максимально быстро.

Я узнаю от @the_velour_fog, что существует прямое решение с помощью энергии (: args 'находят. - тип f \| возглавляет-n10', если кто-то не должен выполнять энергию с плагинами как nerdtree, и и т.д. этот метод настоятельно рекомендован), но дайте мне ответ Ubuntu.

2
задан 23 August 2016 в 16:05

3 ответа

Если Ваше основное беспокойство время, и Вы хотите перечислить любые 10 файлов, необходимо посмотреть -U опция, что означает перечислять записи без сортировки.

, Таким образом, можно сделать:

ls -U

Для 10 файлов только, принятие никаких имен файлов с новой строкой (строками) или любыми необычными символами :

ls -U | head -10
<час>

Немного лучше должен был бы сделать это только самой оболочкой:

printf '%s\n' *

Для 10 файлов:

printf '%s\n' * | head -10
<час>

Вот является статистика синхронизации в моей системе на 2000 файлами на моем zsh:

( ls --color=auto foobar* | head -10; )  0.044 total
( ls --color=auto -U foobar* | head -10; )  0.020 total
( printf '%s\n' foobar* | head -10; )  0.013 total

Также примечание, что, некоторые из них могли бы хорошо инициировать ARG_MAX, если у Вас есть много файлов в каталоге, в этом случае используйте потребность использовать некоторые другие пути как find или цикл оболочки.

4
ответ дан 2 December 2019 в 01:43

Попробуйте cd луг в каталог и вводную энергию, затем однажды в энергии, выполните это исключая командой

:args `find . -type f \| head -n10`

, Мое тестирование показало, что сама энергия обработала файлы с пробелами в них

2
ответ дан 2 December 2019 в 01:43

Вы, вероятно, имеете mlocate, установленный на Вашем компьютере (если не я повторно управляю, чтобы Вы сделали так, это очень полезно для поиска файла)

С установленным (и инициализированный с первым вызовом к команда updatedb), можно попробовать что-то как:

locate /path/to/directory | head -n [qty of file wanted]

, Который должен работать хорошим как ls и предоставит Вам список файл n , который спрашивают с там полным путем

0
ответ дан 2 December 2019 в 01:43

Другие вопросы по тегам:

Похожие вопросы: