▽1
●
JULY ●200ポイント ベストアンサー |
最終的に tar.gz の形にせずに、tar のままにする、というのはナシですか?
tar.gz の形はしょせん、tar 形式のファイルを gzip で圧縮する、なので、何かを追加しようとすると、
とせざるを得ません。
zcat 後に tar で追加して gzip で圧縮、と考えたのですが、手元で軽く試した感じだと、zcat の標準出力を tar の標準入力に入れて r でファイルを追加、とすると、「r の時は、標準入力はダメ」と怒られました。
一時ファイルを作れば不可能では無いですが、それだと、前述の手順を単にシェルスクリプト化するだけになってしまいます。
で、ふと思ったのですが、
質問の意図は、時間制限が厳しい状況で早くtar.gzを作りたいと考えているからです。
という事であれば、複数の tar.gz のファイルが含まれている tar ファイルを作る、とすれば、r で新たな tar.gz ファイルを追加する、というのは可能です。
「圧縮済みのファイルを固めた tar ファイル」と「固めた tar ファイルを圧縮したファイル」のとでは、圧縮率は前者の方が不利ですが、手元で試した感じだと、1 % 程度の違いでした。
もし、圧縮率もシビアに考えるなら、gzip の代わりに bzip2 とか 7z に変える方が、先述の「tar で止める」ことによる増分を気にするより効果的だと思います。