3

У меня есть файл с шаблонами персонажей джокера:

./включают/*

./src/*

и т.п.

Из текущего каталога я хотел бы получить рекурсивный список файлов, которые не соответствуют этим шаблонам.

2 ответа2

6
find . -type f \! \( -path '*/include/*' -o -path '*/src/*' \)

Сломать:

  • \! отрицает группу
  • \( ... \) это как сделать группы условий для find
  • -o ИЛИ условия
  • Все остальное должно быть само за себя.

Если у вас есть достаточно новая версия find , вы можете улучшить ее с помощью:

find . -type f -regextype posix-egrep -regex \! -path '.*/(include|src)/.*'
0

Первый подход, но не использование списка файлов, другие не стесняются улучшать это:

find . -type f -print | grep -v '.\/src\/*'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .