Wie zum rekursiven löschen von mehreren Dateien mit verschiedenen Erweiterungen?
Bin ich zu schreiben versucht, einen Befehl, um rekursiv mehrere Dateien mit verschiedenen Dateiendungen (*.extension1, *.erweiterung2 etc) aus dem aktuellen Verzeichnis und alle zugehörigen Unterverzeichnisse.
Bisher hab ich mit diesem Befehl aus ein weiterer Beitrag, aber ich konnte nicht trainieren, wie Sie es anpassen, um mehr als eine Datei in der gleichen Befehlszeile:
find . -name "*.extension1" -type f -delete
Ist es so einfach wie unten?
find . -name "*.extension1";"*.extension2" -type f -delete
Nur als Seite Hinweis, diese sind alle output-Dateien, die ich nicht brauche, aber nicht alle sind notwendigerweise immer die Ausgabe so einige Erweiterungen möglicherweise nicht vorhanden sein. Dies ist nur als Allgemeine clean-up-Befehl.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dokumente finden ( -name ".py" -o -name ".html" ) -exec file {} \;
ODER
extensionsxxx
Recht? und hierxxx
wird jeder Wert.*.check *.err
- und manchmal, Sie haben, wiempd2.xxx_ext
aber hier_ext
befestigt und istxxx
random-Wert. bin ich im Recht?xxx
und_ext
zufällig sind, ansonsten wäre es ein Fall der Verwendung*.*_ext
nehme ich an. Ich hoffe, ich habe es geschafft, es zu erklären noch deutlicher 😀Einfach mehr Optionen. Eine regex-Lösung kann auch gelten, aber dieses ist besser und sicherer.
Edit: Man muss wohl
-or
als gut. Vor dem löschen, testen Sie es zuerst ohne-delete
option. (2) Hinzugefügt ein paar()
wie vorgeschlagen von gniourf_gniourf."*.ext1"
find
wahrscheinlich nicht GNU-basierten oder einer älteren version. Sie können versuchen, andere Vorschläge.find . \(-name '*.ext1' -o -name '*.ext2' \) -type f -delete
sonst-type f -delete
gilt nur für-name '*.ext2'
. Beachten Sie, dass-or
ist nicht POSIX. Verwenden-o
statt.Vielleicht regexp wird Ihnen helfen,
Diesem einfachen Befehl löschen Sie alle Dateien mit extension1 und erweiterung2 rekursiv in diesem Verzeichnis.
rm
find . -name *.extension1 -o -name *.extentions2