2013-06-20 14 views
11

Potrzebuję usunąć wszystkie pliki o określonym rozszerzeniu w katalogu i wszystkich jego podkatalogach za pomocą Grunt.js i prawdopodobnie potrzebuję moduł do tego? Spojrzałem na czyste, ale wydaje się, że usuwanie całego katalogów, a nie konkretnych plików.Grunt - usuń wszystkie pliki i pliki w podkatalogach z określonym rozszerzeniem pliku

Mój katalog wygląda następująco:

  • build/img/
  • build/img/ico
  • build/img/loga

i rozszerzenie pliku chcę usunąć to :

Dowolny plik z rozszerzeniem .png~, .gif~ lub .jpg~

Wszelkie pomysły?

Odpowiedz

36

Można skonfigurować zadanie grunt-contrib-clean usunąć te pliki tak:

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

Dokumenty w celu uzyskania objaśnienia **, * i innych wzorców globowania.

+0

W jednym wierszu: 'src: [" build/img/**/*. {png, gif, jpg} ~ "]';) –

2

Łatwy, odruchowym, odpowiedź jest użycie Exec + skrypt jedna linia shell jak this one:

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

+0

Exec jest miły, przyda się w przyszłości. – CLiown

+1

To nie zadziała, jeśli pliki mają cudzysłowy lub inne "dziwne" znaki. Możesz użyć operacji podstawowej '-delete' z' find', jednak: 'find. -name '* .png' -type f -delete' – Drarok

Powiązane problemy