Yanıtlar:
bunu kullan:
unzip -l filename | awk 'BEGIN { OFS="" ; ORS="" } ; { for ( i=4; i<NF; i++ ) print $i " "; print $NF "\n" }' | xargs -I{} rm -v {}
Şüpheliyseniz bunu kullanın (onay isteyecektir)
unzip -l filename | awk 'BEGIN { OFS="" ; ORS="" } ; { for ( i=4; i<NF; i++ ) print $i " "; print $NF "\n" }' | xargs -I{} rm -iv {}
awk '{print $4}'- boşluklu bir dosya adı olabilir $4 $5 $6 .... :)
unzip -l foo.zip | awk 'NR>3{print $NF}' | egrep -v '\--|files'|xargs rm -r
Zor bir yerdesiniz; standart zipinfo(1)yardımcı program, açık dosya adlarını arşivden çıkarmak için herhangi bir mekanizma sağlamaz. Ancak , yaklaşabilirsiniz:
zipinfo -1 /path/to/zip/file.zip | xargs -d '\n' rm -i
Hiçbir dosyada yeni satır bulunmadığından eminseniz (kesinlikle yorucu olacak) -iseçeneğini kaldırabilirsiniz rm(1).
unzip -Z -1 <filename.zip> | xargs -I{} rm -v {}
Çünkü iş yapar -Zçağırır zipinfoyarar ve -1seçenek sadece dosya yazdırmak için söyler
Bununla ilgili daha fazla ayrıntıyı komutlar man unzipve man 1 zipinfokomutlar aracılığıyla bulabilirsiniz.
Öncelikle bir klasör oluşturmadan yanlışlıkla açtıktan sonra dizininizi temizlemek isterseniz, klasörü oluşturabilir, bu dosyayı açıp ardından:
rm -r ` ls folder `
"" "komutları zincirlemek için çok kullanışlıdır, ancak çok değişmezdir.
Yorumlar bu yanıtı geliştirdi, eğer gizli dosyaları da kaldırdığınızdan emin olmak istiyorsanız (büyük olasılıkla yaptığınız), bunu yapın
rm -r ` ls -A folder `
ls -a).
ls -Alisteleme hatalarından kaçınmak .ve..
Nautilus'ta (komut satırı olmadan) bunu yapmak için, dosyaları yanlışlıkla çıkardığınız yere gidebilir, "Değiştirildi" sekmesini tıklayarak dosyaları sıralayabilir, ardından tam olarak zamanınızla etiketlenmiş tüm dosyaları seçip silebilirsiniz. unzip komutunu çalıştırdı.
unzip -Z -1 /path/to/zip/file.zip | xargs -I{} rm -rf {}
-idüzenleme ile +1 . :)