Mac — удалить все файлы с определенным расширением из дерева каталогов

Mac — удалить все файлы с определенным расширением из дерева каталогов

Возможный дубликат:
Рекурсивное удаление файлов, соответствующих имени в командной строке (OS X)

Я хочу удалить все файлы с расширением .orig из моего дерева. Дерево глубокое. Есть ли простой способ сделать это?

Мне, вероятно, придется делать это много раз в день, с разными деревьями. Поэтому легкость важна.

решение1

Используйте findинструмент:

find /path -name '*.orig' -delete

Обратите внимание, что подстановочный знак должен быть заключен в кавычки (как "*.orig"или ), так как вы хотите '*.orig', \*.origчтобы он обрабатывался только функцией «find», но не оболочкой.

В некоторых операционных системах эта опция может отсутствовать -delete. В этом случае вызовите ее rm:

find /path -name "*.orig" -exec rm -i {} \;

решение2

Я предпочитаю этот метод (очень похожий на @grawity), но с включенным типом file:

find /path . -name '*.orig' -type f -delete

решение3

Можете ли вы выполнить команды оболочки в bash? Это поможет:

find /path/to/your/tree | egrep .orig$ | xargs rm

Связанный контент