Мне нужна помощь в составлении списка каталогов с помощью команды «найти»?
Пример структуры каталогов выглядит примерно так:
/ (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