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
script
nas
shell-script
rar
Touff
sumber
sumber
unrar
memiliki rekursi bawaan menggunakan-r
Recurse subdirectories
sakelar.unrar x -r <parent directory>
Ekstrak konten dari semua subdirektori<parent directory>
ke dalam setiap subdirektori, menjaga struktur direktori yang ada dalam.rar
file. Gunakane
alih-alihx
jika struktur direktori tidak diinginkan.sumber
<parent directory>
. Itu tidak akan menempatkan file yang diekstraksi ke dalam subdirektori di sebelah.rar
file. 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 membutuhkanfind
jawabannya.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/ \;
sumber