Bir süredir çalışıyor ve bu oldukça yakın olduğuma inanıyorum, ama öyle bu zor bulgu olmuştur Unix için oldukça yeni edilmiştir.bütün fermuarlar bulun ve yerinde halletmek - Unix
Çok sayıda klasör içeren, içinde bazıları sıkıştırılmış dosyalara sahip olan, bazıları olmayan bir klasör var. Tüm alt dizinlerdeki zip dosyalarının tümünü unzip etmeye çalışıyorum. Örneğin
ben:
dosya/A/something.java
dosyaları/B/somezipfile.zip
dosya/C/someotherfile.zip
dosya/D/AnotherZipFile.zip
Onları çıkarmak için (fermuarlar sadece .java dosyaları içerdiğini varsayarak), aşağıdaki gibi bir sonuç elde etmek istiyorum: files/A/something.ja va
dosyaları/B/javafile.java
dosyaları/C/someotherfilefromzip.java
dosyaları/D/Anotherfile.java
ZIP dosyaları kalır veya eğer ben umursamıyorum unzipping sonra silindi, ya da iyidir. Şu ana kadar denediklerim var. Bu işe yaramazsa
find . -name *.zip | unzip
:
1) Ben bu gibi yeni am boru tesisatı, kullanabilirsiniz bekleniyor. Onları yerinde halletmek istedim
find . -name '*.zip' -exec unzip '{}' ';'
Bu unzips, ancak mevcut çalışma dizininin içine unzips:
2), arama biraz zaman geçirdim en yakın ben is online çözüm kullanarak gördü. Ben de öğrenmeye çalıştığım gibi istediğim bu komutu anlamıyorum.
Herhangi bir yardım çok takdir edilmektedir.
sayesinde
Bu iyi bir cevap gibi görünüyor, anlayabilmeniz için (çok hızlı) herhangi bir şansınız var mı? Biraz kafam karıştı, -exec ve {} işaretlerine olan ihtiyacım. – ThePerson
Eklenen açıklama –
Zip dosya isminde bir boşluk varsa bir sorunum var gibi görünüyor, bunun için kolay bir düzeltme var mı? – ThePerson