2013-06-20 3 views
11

Мне нужно удалить все файлы с определенным расширением файла в каталоге и во всех его подкаталогах с помощью Grunt.js, и я думаю, мне, вероятно, понадобится модуль для этого? Я смотрел на чистый, но, похоже, для удаления целых каталогов, а не для конкретных файлов.Grunt - удалить все файлы и файлы в подкаталогах с определенным расширением файла

Мой каталог выглядит следующим образом:

  • сборки/IMG/
  • сборки/IMG/ICO
  • сборки/IMG/логотипы

и расширение файла Я хочу удалить это :

Любой файл с расширением .png~, .gif~ или .jpg~

Любые идеи?

ответ

36

Вы можете настроить grunt-contrib-clean задачу, чтобы удалить эти файлы, как это:

clean : { 
    yourTarget : { 
     src : [ "build/img/**/*.png~", 
       "build/img/**/*.gif~", 
       "build/img/**/*.jpg~" 
     ] 
    } 
} 

См. this section из документов для объяснения **, * и других шаблонов глобусов.

+0

В одной строке: 'src: [" build/img/**/*. {png, gif, jpg} ~ "]';) –

2

Easy, рефлекторный, ответ заключается в использовании Exec + одна строка сценария оболочки, как this one:

find . -name "*.png" -type f|xargs rm -f

+0

Exec хорошо, пригодится в будущем. – CLiown

+1

Это не сработает, если в файлах есть кавычки или другие «нечетные» символы. Вы можете использовать примитив '-delete' с' find', хотя: 'find. -name '* .png' -type f -delete' – Drarok