Назад | Перейти на главную страницу

Список каталогов без определенной папки

Мне нужна помощь в составлении списка каталогов с помощью команды «найти»?

Пример структуры каталогов выглядит примерно так:

/ (root)
 - /foo
   - /folderA
   - /folderB
 - /bar
   - /folderA
     -/search
   - /folderB

Я хочу найти список каталогов «folderA» или «folderB», в которых НЕТ папки «поиск». Запрошенный вывод будет:

/foo/folderA
/foo/folderB
/bar/folderB

Я предполагаю, что это можно сделать с помощью 'find' в системе * nix, но я довольно зеленый с командой. Любая помощь приветствуется.

РЕШЕНИЕ: Спасибо, Халед, за ваш ответ, ведущий меня в правильном направлении. Требовалась небольшая модификация для включения опции -E, но окончательное решение выглядело так:

find -E . -regex '.*(folderA|folderB)' -type d '!' -exec test -d '{}/search' ';' -print

Вы можете найти такую ​​команду:

$ find . -regex ".*folder\(A\|B\)" -type d '!' -exec test -d '{}/search' ';' -print