Bir hedef dizindeki tüm dosyaları yinelemeli olarak topçıklamak için kullanılacak komutun ne olduğunu bilmek isterim. Unzip komutunu kullanmaya çalıştım ama işe yaramadı.
Tüm zip dosyalarını Unzip'ten bir hedef klasördeki komutu denedim mi?
Bir hedef dizindeki tüm dosyaları yinelemeli olarak topçıklamak için kullanılacak komutun ne olduğunu bilmek isterim. Unzip komutunu kullanmaya çalıştım ama işe yaramadı.
Tüm zip dosyalarını Unzip'ten bir hedef klasördeki komutu denedim mi?
Yanıtlar:
Aşağıdaki komutları kullanarak. Değiştir <path_of_your_zips>
ZIP dosyalarına ve yol ile <out>
Hedef klasörle:
GZ dosyaları için
find <path_of_your_zips> -type f -name "*.gz" -exec tar xf {} -C <out> \;
veya
find <path_of_your_zips> -type f -name "*.gz" -print0 | xargs -0 -I{} tar xf {} -C <out>
ZIP dosyaları için
find <path_of_your_zips> -type f -name "*.zip" -exec unzip {} -d <out> \;
veya
find <path_of_your_zips> -type f -name "*.zip" -print0 | xargs -0 -I{} unzip {} -d <out>
-exec
gibi find . -type f -name "*.gz" -exec tar xzf {} -C <out> \;
?
tar: This does not look like a tar archive
gunzip
vardır -r
seçeneği. Kimden man gunzip
:
-r --recursive
Travel the directory structure recursively. If any of the
file names specified on the command line are directories, gzip
will descend into the directory and compress all the files it finds
there (or decompress them in the case of gunzip ).
Bu nedenle, dizinde ve tüm alt dizinlerinde gunzip
sıkıştırılmış tüm dosyaları ( gunzip
şu anda gzip, zip, sıkıştır, sıkıştır-H veya paket tarafından oluşturulan dosyaları açabilir) istiyorsanız /foo/bar
:
gunzip -r /foo/bar
Bu, dosya adlarını da boşluklarla işlemden geçirir.