Tôi có một tập tin .gz lớn. Tôi muốn chia nó thành 100 tệp gzip nhỏ hơn, mỗi tệp có thể được giải nén. Nói cách khác: Tôi không tìm cách băm nhỏ tệp .gz thành các khối sẽ phải được đặt lại với nhau để có thể giải nén nó. Tôi muốn có thể giải nén từng tệp nhỏ hơn một cách độc lập.
Nó có thể được thực hiện mà không cần giải nén toàn bộ tập tin không?
Nó có thể được thực hiện nếu tập tin gốc được nén với --rsyncable
? ("Phục vụ tốt hơn cho chương trình rsync bằng cách định kỳ đặt lại cấu trúc bên trong của luồng dữ liệu nén." Nghe có vẻ như các điểm đặt lại này có thể là nơi tốt để phân chia và có thể đặt trước một tiêu đề.)
Nó có thể được thực hiện cho bất kỳ định dạng nén nào khác không? Tôi sẽ tưởng tượng bzip2
sẽ có thể thực hiện được - vì nó được nén trong các khối.
gzip --rsyncable
đưa ra rằng súng gunzip không thể nói lên sự khác biệt (nếu bạn có thể tìm một nơi để phân chia, bạn có thể nói rằng có một nơi để phân chia). Nó có thể được thực hiện với bzip2 vì tính năng khối đặc biệt của nó.
gzip -d -c bigfile.gz
.
bzip2
tệp. Nó có thể được thực hiện bằng gz
hoặc xz
chỉ bằng cách nén từng đoạn độc lập, do đó, điều này sẽ đòi hỏi phải giải nén.