У меня есть раздел Windows на моем Mac, на котором я хочу удалить все папки с именем "bower_components" или "node_modules" и все его подпапки.

Он уже смонтирован через ParagonNTFS, поэтому у меня есть права на чтение и запись.

Как я могу массово удалить эти папки рекурсивно из терминала, не перемещая их в корзину?

1 ответ1

1

find предлагает возможность комбинировать идентификаторы файлов и передавать их внешней команде, например, в вашем случае:

find /Volumes/NTFS_part -type d \( -name bower_components -or -name node_modules \) -exec rm -rf {} \;

Объяснение:

  • Первый аргумент является отправной точкой для поиска. Я использовал соглашение OS X /Volumes
  • -type d ограничит поиск файлами типа directory
  • экранированные скобки содержат поисковые фильтры для использования. Обратите внимание, что идентификатор повторяется в скобках
  • Аргумент -exec позволяет использовать результаты, указанные в фигурных скобках, во внешней команде. При использовании -exec вы должны завершить внешнюю команду с помощью экранированной точки с запятой , чтобы команда find знала, где заканчивается команда.

Caveat Emptor: Использование команды удаления таким способом может быть очень опасным. Пожалуйста, внимательно прочитайте, протестируйте и примите обычные меры предосторожности.

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