Bir dosyayı kavanozdan / savaştan, kavanozu çıkartıp yeniden oluşturmak zorunda kalmadan silmenin hızlı bir yolu var mı?


105

Bu yüzden bir jar / war dosyasından bir dosyayı kaldırmam gerekiyor. "Jar -d myjar.jar file_I_donot_need.txt" gibi bir şey olmasını umuyordum

Ancak şu anda bunu Linux komut satırımdan yapmanın tek yolu (WinRAR / Winzip veya linux eşdeğerini kullanmadan)

  • "Jar -xvf" yapın ve
    Jar dosyasının tamamını çıkarın
  • İhtiyacım olmayan dosyaları kaldırın
  • "Jar -cvf" kullanarak jar dosyasını yeniden düzenleyin

Lütfen bana daha kısa bir yol olduğunu söyle?


3
Bir "kavanoz" sadece bir zip dosyası olduğundan, superuser.com'da daha iyi şansa sahip olacağınızdan şüpheleniyorum .
Kirk Woll

Tüm süreci sarmak için bir kabuk komut dosyası yazmayı da deneyebilirsiniz. Gibi bir şey./myscript.sh -d <list of files>
Favonius

Yanıtlar:


202
zip -d file.jar unwanted_file.txt

ne de olsa jar sadece bir zip dosyasıdır. Kesinlikle sıkıştırmayı açma / yeniden sıkıştırmadan çok daha hızlı.


3
Bunun yerine daha sık p7zip yükledim zipve bu durumda dosya formatını belirtmek önemlidir:7z d -tzip file.jar dir/unwanted_file.txt
lapo

@martona Şu hatayı alıyorum: zip hatası: Zip dosya yapısı
Goaler444

@ Goaler444 Aynı hatayı aldım, ancak lapo'nun önerdiği gibi 7z kullanmak benim için çalıştı.
2014

Bir alt kavanozdan veya büyük çocuk kavanozundan bir dosya nasıl silinir?
Tom

5
Kavanozdaki bir klasörü silmek istiyorsanız, istenmeyen klasörün sonunda eğik çizgi olduğundan emin olun:zip -d file.jar unwanted_folder/
Martin Woolstenhulme

1

Java'da, silmek istediğiniz dışında bir jar'ın tüm girişlerini kopyalayabilirsiniz. yani bir kopya oluşturmanız gerekir, ancak dosyaları ayrı ayrı oluşturmanız gerekmez.

Bunu şu şekilde yapabilirsiniz

  • yeni bir kavanoz yaratmak.
  • sahip olduğun kavanozda yineleyerek
  • girişi bir kavanozdan diğerine kopyalayın ve istediğiniz dosyaları atlayın.
  • isterseniz orjinal kavanozu kapatın ve değiştirin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.