>_ IzzyLab

Практическое задание

find -prune: исключить каталог

средне

Перечисли все обычные файлы под /root/tree, исключив каталог vendor целиком (его содержимое в список попасть не должно). Отсортированный результат — в /root/files.txt.

Что потренируешь:
  • find
  • -prune
  • -path
  • исключение каталогов
  • логика предикатов

Разбор темы

Чтобы find не спускался внутрь целого каталога, его ветку «обрезают» специальным предикатом — тогда обход туда не заходит вовсе. Работает это через логику предикатов: сначала предикат по пути с обрезкой, затем оператор «или» переключает на вторую ветвь для всего остального. Тонкость в том, что обрезка ломает неявную автопечать, поэтому вывод файлов задают явным действием печати; результат затем сортируют.

Что проверяется

  1. файлы без каталога vendor
  2. vendor исключён

Как это выглядит