Возможный дубликат:
Рекурсивное удаление файлов, соответствующих имени в командной строке (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