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) -i
seçeneğini kaldırabilirsiniz rm(1)
.
unzip -Z -1 <filename.zip> | xargs -I{} rm -v {}
Çünkü iş yapar -Z
çağırır zipinfo
yarar ve -1
seçenek sadece dosya yazdırmak için söyler
Bununla ilgili daha fazla ayrıntıyı komutlar man unzip
ve man 1 zipinfo
komutlar 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 -A
listeleme 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 {}
-i
düzenleme ile +1 . :)