gunakan ini:
unzip -l filename | awk 'BEGIN { OFS="" ; ORS="" } ; { for ( i=4; i<NF; i++ ) print $i " "; print $NF "\n" }' | xargs -I{} rm -v {}
Gunakan ini jika Anda ragu (akan meminta konfirmasi)
unzip -l filename | awk 'BEGIN { OFS="" ; ORS="" } ; { for ( i=4; i<NF; i++ ) print $i " "; print $NF "\n" }' | xargs -I{} rm -iv {}
Anda berada di tempat yang sulit; standar zipinfo(1)
utilitas tidak menyediakan mekanisme apa pun untuk mengeluarkan nama file yang tidak ambigu dari arsip. Tapi , Anda bisa mendekati:
zipinfo -1 /path/to/zip/file.zip | xargs -d '\n' rm -i
Jika Anda yakin tidak ada file yang memiliki baris baru di dalamnya, Anda dapat menghapus -i
opsi untuk rm(1)
(yang pasti akan membosankan).
unzip -Z -1 <filename.zip> | xargs -I{} rm -v {}
Melakukan pekerjaan karena -Z
memanggil zipinfo
utilitas dan -1
opsi memberitahunya untuk mencetak hanya nama file
Anda dapat menemukan detail lebih lanjut tentang ini melalui man unzip
dan man 1 zipinfo
perintah
Apakah GNU/Linux menghitung proses dan utas secara bersamaan saat saya membatasi jumlahnya?
Hapus baris tertentu dari file riwayat Bash