У меня есть файл с шаблонами персонажей джокера:
./включают/*
./src/*
и т.п.
Из текущего каталога я хотел бы получить рекурсивный список файлов, которые не соответствуют этим шаблонам.
find . -type f \! \( -path '*/include/*' -o -path '*/src/*' \)
Сломать:
\!
отрицает группу\( ... \)
это как сделать группы условий для find
-o
ИЛИ условияЕсли у вас есть достаточно новая версия find
, вы можете улучшить ее с помощью:
find . -type f -regextype posix-egrep -regex \! -path '.*/(include|src)/.*'
Первый подход, но не использование списка файлов, другие не стесняются улучшать это:
find . -type f -print | grep -v '.\/src\/*'