Pertanyaan serupa telah diajukan, tetapi saya tidak dapat menemukan apa yang saya cari. Pada dasarnya, saya memiliki direktori besar dengan subdirektori dan banyak file, dan saya ingin masuk ke setiap direktori dan subdirektori secara rekursif, dan zip setiap file secara individual. Saya menemukan solusi ini, tetapi itu tidak seperti yang saya inginkan:
find . -type f -execdir zip '{}.zip' '{}' \;
Ini menampilkan file zip ke direktori asalnya. Namun, saya ingin file zip dalam direktori yang benar-benar terpisah, tetapi dengan struktur direktori yang sama, hanya dengan file zip yang dihasilkan. Adakah yang bisa membantu dengan ini?
linux
command-line
unix
zip
AnthonyWeston
sumber
sumber
Jawaban:
Anda dapat pra-pend jalur relatif ke lokasi file zip sebagai:
Jika perlu, untuk membuat struktur direktori yang dapat Anda lakukan:
sumber
Jika Anda belum menikah dengan file zip, Anda bisa membuat gambar squashfs dari seluruh pohon direktori yang dipertanyakan yang dapat dipasang juga (tidak ada pembukaan & cari di file zip tertentu untuk melihat apa yang ada di sana). Ini mungkin memiliki kompresi yang lebih baik juga, karena melihat seluruh pohon bersama-sama, lebih seperti arsip "padat", daripada banyak file zip individu.
Pada dasarnya Anda hanya perlu
squashfs-tools
paket (itu namanya di Debian / Ubuntu, mungkin nama yang berbeda di keluarga linux yang berbeda), lalu:dan untuk me-mount / melihat / menelusuri:
flag -t bahkan mungkin opsional, mount sangat bagus untuk secara otomatis menentukan tipe. Seharusnya tidak perlu
-o loop
bendera juga, tetapi coba kalau-kalau diperlukan.Lihat http://tldp.org/HOWTO/SquashFS-HOWTO/creatingandusing.html atau cari saja cara menggunakan squashfs .
sumber