Anda tidak dapat meningkatkan rasio kompresi, tanpa mendekompresi data. Anda tidak perlu mengekstrak semua file zip sebelum mengompresinya, tetapi saya sarankan untuk membuka kompresi satu file zip utuh sebelum mengompresi ulang.
Dimungkinkan untuk mengkompres ulang file dalam file zip satu per satu dan menambahkannya kembali sebelum melanjutkan ke file berikutnya yang terdapat dalam file zip. Ini membutuhkan N penulisan ulang file zip untuk file zip yang berisi N file. Jauh lebih efisien untuk mengekstrak file N dan menghasilkan file zip baru sekaligus, mengompresi semua file dengan -9
.
Ada utilitas bernama AdvanceCOMP yang melakukan persis seperti yang Anda cari. Itu mengkompres ulang file ZIP dan GZ (dan beberapa lainnya) tanpa ekstraksi perantara ke disk. (Saya percaya bahwa mekanisme yang digunakan adalah mendekompresi data dan mengompresi ulang, tetapi itu tidak memerlukan penulisan file ke disk atau pembuatan ulang metadata.)