Zip-Chaos im Home-Verzeichnis

mnqpic02.jpg

Ich habe unter Linux ein Zip-Archiv in der Konsole mit unzip Archivname.zip entpackt, was über hundert Dateien direkt in meinem Heimatverzeichnis erstellt hat. Wie werde ich die wieder los, ohne alles von Hand löschen zu müssen?

Schreiben Sie einfach mit folgendem Befehl eine Liste der betroffenen Datei- und Verzeichnisnamen in eine Textdatei:

unzip -lqq Archivname.zip | awk '{print $4}' > liste.txt

Anschließend übergeben Sie diese Liste mittels xargs an den Löschbefehl rm:

cat liste.txt | xargs rm

Dieses einfache Verfahren scheitert allerdings an Datei- oder Verzeichnisnamen, die Leerzeichen, Anführungszeichen, Backslashes oder dergleichen enthalten. Statt hierfür eine allgemeine Lösung zu finden, dürfte es schneller gehen, die betroffenen Dateinamen vor dem xargs-Aufruf aus der Liste zu entfernen und von Hand mit rm zu löschen. Übrig gebliebene leere Verzeichnisse löschen Sie mit dem Befehl rmdir Verzeichnisname.

Damit das nicht wieder passiert, weisen Sie unzip beim nächsten Auspacken einer Datei an, gleich in ein Verzeichnis zu entpacken, das Sie mit

unzip -d Zielpfad Archivname.zip

bestimmen. (ju)