Как найти (или исключить) все каталоги и подкаталоги, соответствующие определенному шаблону (в Linux)?

Я пытаюсь использовать команду поиска Linux, чтобы найти все каталоги и подкаталоги, которые не имеют.svn (скрытые папки Subversion) в своем пути. Я могу получить его только для исключения самих каталогов.svn, но не каких-либо подкаталогов.

Вот что я делаю сейчас:

find . -type d \! -iname '*.svn*'

Я также попробовал:

find . -type d \! iname '.svn' \! iname '.svn/*'

Просто к сведению, я пытаюсь использовать шаблон поиска, чтобы я мог применить некоторые свойства subversion ко всем каталогам в моем хранилище, кроме скрытых папок и их подкаталогов subversion (применяя команду exec к каталогам, возвращаемым из команды find)..

ТИА

5 ответов

Решение
find . -type d -not \( -name .svn -prune \)

Что насчет -path вариант найти?

find . -type d ! -path '*.svn*'

Насчет просто

find . -type d |  grep -v '.svn'

Вы можете использовать:

find . -type d -not -wholename '*.svn*' 

Находить . -path './tmp' -prune -o .......

Другие вопросы по тегам