هناك اندماج GZIP الذي يدمج ملفين GZIP دون ضغطها؟

StackOverflow https://stackoverflow.com/questions/274185

  •  07-07-2019
  •  | 
  •  

سؤال

ودعنا نقول أن هناك a.gz، وb.gz.

و$ gzip_merge a.gz b.gz المخرجات c.gz

وأود أن يكون هذا البرنامج. وبطبيعة الحال،

و$ القط a.gz b.gz> c.gz

ولا يعمل. لأن كتلة انكماش النهائي من a.gz ديه BFINAL، ورأس GZIP من b.gz. (راجع RFC1951، RFC1952) ولكن إذا كنت إلغاء تعيين BFINAL، ورمي بعيدا رأس GZIP الثاني والمشي من خلال الحدود بايت من الملف غزيب الثاني، يمكنك دمج ذلك.

في الواقع، فكرت في كتابة برنامج مفتوح المصدر لهذه المسألة، ولكن لم أكن أعرف كيفية نشرها. لذلك طلبت من جويل ليكون مدير برنامجي، ومشيت عليه من خلال تعليلي والدفاع، وقال انه يفهم أخيرا ما أردت القيام به، لكنه قال انه كان مشغولا جدا. : (

وبطبيعة الحال، أنا يمكن أن يكتب واحد نفسي ومحاولة طريقي لنشرها. ولكن لا أستطيع أن أفعل هذا وحده لأن عملي اليوم ينتمي لممتلكات صاحب العمل.

هل هناك أي المتطوعين؟ يمكننا أن نعمل كما مبرمج (لي)، الناشر (أنت) أو مبرمج (أنت)، الناشر (لي). كل ما تحتاجه هو بعض الائتمان. أنا مرة واحدة نفذت آلة العالمي إلغاء ضغط الظاهري هو موضح في RFC3320. إذا كنت لا تعرف ذلك ممكنا.

وOR، هل يمكن لي نقطة في هذا البرنامج. وسيكون من المفيد جدا لإدارة ملفات السجل مثل دمج 365 (اليوم) ملف GZipped تسجيل الملفات إلى واحد. ؛)

وشكرا.

هل كانت مفيدة؟

المحلول

<اقتباس فقرة>   

وبطبيعة الحال، القط a.gz b.gz> c.gz لا يعمل.

والواقع، وأنها تعمل على ما يرام. لقد اختبرت ذلك. انها حتى موثقة (من نوع) في صفحة غزيب الرجل.

   Multiple  compressed  files  can  be concatenated. In this case, gunzip
   will extract all members at once. For example:

         gzip -c file1  > foo.gz
         gzip -c file2 >> foo.gz

   Then

         gunzip -c foo

   is equivalent to

         cat file1 file2

نصائح أخرى

هل يمكن أيضا:

zcat a.gz b.gz > c.txt && gzip c.txt

وطالما توزيعة لينكس / يونكس الخاصة بك قد zcat بنيت في، والتي أكثرهم لا (وكنت قد تثبيته لتلك التي لا تفعل ذلك.)

وبدلا من ذلك:

zcat a.gz b.gz | gzip -c > c.txt.gz
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top