2013-06-20 4 views
11

Ich muss alle Dateien mit einer bestimmten Dateierweiterung in einem Verzeichnis und allen Unterverzeichnissen mit Grunt.js löschen und ich denke, ich brauche wahrscheinlich eine Modul dazu? Ich habe mich sauber angesehen, aber das scheint für das Löschen ganzer Verzeichnisse anstelle von bestimmten Dateien zu sein.Grunt - Lösche alle Dateien und Dateien in Unterverzeichnissen mit bestimmter Dateierweiterung

Meine Auswahl wie folgt aussieht:

  • build/img/
  • build/img/ico
  • build/img/Logos

und die Dateierweiterung ich löschen wollen, ist :

Jede Datei mit der Erweiterung , .gif~ oder .jpg~

Irgendwelche Ideen?

Antwort

36

Sie die grunt-contrib-clean Aufgabe konfigurieren können diese Dateien wie folgt zu entfernen:

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

Siehe this section der Dokumentation für eine Erklärung von **, * und andere Globbing-Muster.

+0

In einer Zeile: 'src: [" build/img/**/*. {png, gif, jpg} ~ "]') –

2

Einfach, reflexartig, Antwort ist Exec + a eine Zeile Shell-Skript zu verwenden, wie this one:

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

+0

Exec ist nett, wird in der Zukunft nützlich sein. – CLiown

+1

Das funktioniert nicht, wenn die Dateien Anführungszeichen oder andere "ungerade" Zeichen enthalten. Sie können das '-delete'-Primitiv jedoch mit' find' verwenden: 'finden. -name '* .png' -type f -delete' – Drarok

Verwandte Themen