utilisez ceci :
unzip -l filename | awk 'BEGIN { OFS="" ; ORS="" } ; { for ( i=4; i<NF; i++ ) print $i " "; print $NF "\n" }' | xargs -I{} rm -v {}
Utilisez ceci si vous êtes sceptique (vous demandera une confirmation)
unzip -l filename | awk 'BEGIN { OFS="" ; ORS="" } ; { for ( i=4; i<NF; i++ ) print $i " "; print $NF "\n" }' | xargs -I{} rm -iv {}
Vous êtes dans une situation difficile; la norme zipinfo(1)
L'utilitaire ne fournit aucun mécanisme pour extraire des noms de fichiers non ambigus d'une archive. Mais , vous pouvez vous en approcher :
zipinfo -1 /path/to/zip/file.zip | xargs -d '\n' rm -i
Si vous êtes sûr qu'aucun des fichiers ne contient de nouvelles lignes, vous pouvez supprimer le -i
possibilité de rm(1)
(ce qui va sûrement devenir fastidieux).
unzip -Z -1 <filename.zip> | xargs -I{} rm -v {}
Fait le travail parce que -Z
invoque zipinfo
utilitaire et -1
l'option lui dit de n'imprimer que les noms de fichiers
Vous pouvez trouver plus de détails à ce sujet via man unzip
et man 1 zipinfo
commandes