Unrar rekursif dari beberapa folder


8

Saya memiliki beberapa arsip RAR yang tersebar di beberapa direktori tetapi semuanya di bawah folder root tertentu pada NAS berbasis Debian saya. Bisakah seseorang membantu saya menulis skrip sederhana yang secara rekursif akan masuk ke setiap folder, menghapus konten, kembali ke folder induk dan pindah ke direktori berikutnya? Begitu:

cd Photos/Summer/Italy/
unrar e Italy.rar
wait
cd ../France/
unrar e France.rar
wait
etc...

Jadi arahkan saja ke root folder "Foto" dan blitz melalui itu tidak mempersiapkan segalanya di jalan ...

Misalnya, struktur direktori:

*Photos:
 -Summer
  --Italy
   ---Italy.rar
   ---Italy.r01
   ---Italy.r02
  --France
   ---France.rar
   ---France.r01
   ---France.r02
 -Winter
  --Siberia
   ---Siberia.rar
   ---Siberia.r01
   ---Siberia.r02
  --Canada
   ---Snow.rar
   ---Snow.r01
   ---Snow.r02

Jawaban:



3

unrarmemiliki rekursi bawaan menggunakan -r Recurse subdirectoriessakelar.

unrar x -r <parent directory> Ekstrak konten dari semua subdirektori <parent directory>ke dalam setiap subdirektori, menjaga struktur direktori yang ada dalam .rarfile. Gunakan ealih-alih xjika struktur direktori tidak diinginkan.


Ini akan mengekstrak file dari arsip subdirektori ke <parent directory>. Itu tidak akan menempatkan file yang diekstraksi ke dalam subdirektori di sebelah .rarfile. Jadi itu tergantung pada hasil apa yang diinginkan. OP tidak spesifik dalam kasus ini. Terkadang jawaban Anda bermanfaat bagi saya, tetapi di lain waktu saya membutuhkan findjawabannya.
Cliff

1

Jika Anda ingin memindahkan foto yang belum dihapus ke tujuan lain, cukup masukkan tujuan pada akhirnya, seperti ini:

find source_dir/ -name '*.rar' -execdir unrar e -o- {} /new/destination_dir/ \;

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.