1

Как вывести список всех файлов в каталоге?

что-то вроде ls -la | cat

2 ответа2

4

Используйте следующую команду, recursive:

find /path /to /folder -type f -exec cat {} \;

Нерекурсивная версия (из-за популярного прессинга):

find /path /to /folder -maxdepth 1 -type f -exec cat {} \;

4

Следующая команда:

find ./ -type f -exec cat {} \;

найдет только файлы (-type f) из текущей папки (./).

Ответ Студера хорош, и исключение каталогов является хорошей идеей, потому что это неопределенное поведение между единицами, прочитайте комментарий Гравити. Вот два известных поведения:

  • cat в Linux выдаст сообщение об ошибке при попытке cat cat каталог cat: ./folder: Is a directory).
  • cat на FreeBSD выгрузит директорию raw, сохраненную на диске.

Если вам нужна дополнительная информация о команде или что-то еще об этом, пожалуйста, ответьте, и я буду комментировать больше / помочь вам.

Редактировать: как отметил Джон Т , эта команда будет входить в каждый подкаталоги. Если вам нужно только отследить файлы из текущего каталога, вам потребуется -maxdepth 1 , что дает:

find ./ -maxdepth 1 -type f -exec cat {} \;

Параметр -maxdepth n также можно использовать для ограничения его количеством подкаталогов n , 1 - текущий каталог, 2 - текущий каталог и его прямые потомки и т.д.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .