• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Alle Dateien eines Ordners löschen bis auf .ac3

Escho

Advanced Hacker
Servus!

Ich möchte in einem Ordner sämtliche Dateien löschen, nur die Files die auf .ac3 enden, sollen erhalten bleiben.
Spontan fällt mir dazu ein, die ac3-Dateien in einen anderen Ordner zu verschieben, dann den Inhalt des Ursprungsordners zu löschen und anschließend die ac3-Files wieder zurückzuholen.

Geht das auch irgendwie einfacher? Zu "rm" finde ich leider keine Option, die sagt: Alles löschen bis auf...

Edgar
 
Wie waere es z.B. so:

Wichtig: Zuvor soetwas immer erst anstelle vom rm mit ls testen obs den auch wirklich funktioniuert. Was weg ist, ist weg.

Beispiel bei *.txt Datei die zu erhalten ist.
Code:
rm `ls | grep -v -e "txt$"`
 
A

Anonymous

Gast
andere Möglichkeit (ist etwas ungenau) mit Hilfe der Bash
Code:
ls -a *[^a][^c][^3]
oder besser mit find
Code:
find . -maxdepth 1 -type f ! -name "*.ac3" -exec ls -a {} \;
in Beiden wenn das Richtige angezeigt wird nur "ls -a "gegen "rm " tauschen.

robi
 
OP
Escho

Escho

Advanced Hacker
Ich seh schon, das ist gar nicht so ungefährlich, was ich da will. Das werde ich mir morgen (na ja, eigentlich heute) früh mal durch den Kopf gehen lassen.
Meine funktionierende spontale Idee sieht übrigens so aus:
Code:
mv ${basisverzeichnis}/dvd_tmp/*.m2v ${basisverzeichnis}/dvd_tmp/*.ac3 ${basisverzeichnis}/dvd_tmp1
rm ${basisverzeichnis}/dvd_tmp/*
mv ${basisverzeichnis}/dvd_tmp1/* ${basisverzeichnis}/dvd_tmp
Edgar
 
OP
Escho

Escho

Advanced Hacker
Ich denke, ich bleibe mein meiner ersten Idee. Bei den anderen Lösungen kann ich nicht gabz abschätzen, was im Falle eines Falles wirklich passiert. Danke für die Vorschläge.

Edgar
 

regexer

Advanced Hacker
bolder schrieb:
Dieser rm würde auch eine Datei "xxa" oder "xxc" stehen lassen.

Eher so (ungetestet):
Code:
rm ? ?? ??? *[!.]??? *?[!a]?? *??[!c]? *???[!3]
Da finde ich den find etwas übersichtlicher ;)
 
Oben