Перечислите все содержание всех файлов в каталоге UNIX

Как перечислить все содержание файлов в каталоге?

что-то как ls -la | cat.

1
задан 19.06.2011, 02:30

2 ответа

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

найдите/path/to/folder - тип f - исполнительная кошка {} \;

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

найдите/path/to/folder-maxdepth 1 - тип f - исполнительная кошка {} \;

4
ответ дан 12.12.2019, 07:54

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

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

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

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

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

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

Править: Как John T указанный, эта команда войдет в каждый подкаталоги. Если бы Вам нужно только в файлы кошки из текущего каталога, Вам было бы нужно -maxdepth 1, таким образом предоставление:

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

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

4
ответ дан 12.12.2019, 07:54

Теги

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