Verwenden Sie dies:
unzip -l filename | awk 'BEGIN { OFS="" ; ORS="" } ; { for ( i=4; i<NF; i++ ) print $i " "; print $NF "\n" }' | xargs -I{} rm -v {}
Verwenden Sie dies, wenn Sie skeptisch sind (Sie werden zur Bestätigung aufgefordert)
unzip -l filename | awk 'BEGIN { OFS="" ; ORS="" } ; { for ( i=4; i<NF; i++ ) print $i " "; print $NF "\n" }' | xargs -I{} rm -iv {}
Du bist in einer schwierigen Lage; der Standard zipinfo(1)
Das Dienstprogramm bietet keinen Mechanismus zum Abrufen eindeutiger Dateinamen aus einem Archiv. Aber , können Sie sich nähern:
zipinfo -1 /path/to/zip/file.zip | xargs -d '\n' rm -i
Wenn Sie sicher sind, dass keine der Dateien Zeilenumbrüche enthält, können Sie die -i
entfernen Option zu rm(1)
(was sicher langweilig wird).
unzip -Z -1 <filename.zip> | xargs -I{} rm -v {}
Macht den Job, weil -Z
ruft zipinfo
auf Dienstprogramm und -1
Option weist es an, nur Dateinamen zu drucken
Weitere Einzelheiten dazu finden Sie unter man unzip
und man 1 zipinfo
Befehle