解凍せずに圧縮ファイルに行を追加するには?

解凍せずに圧縮ファイルに行を追加するには?
mknod /tmp/oracle.pipe p

sqlplus / as sysdba << _EOF
set escape on

host nohup gzip -c < /tmp/oracle.pipe > /tmp/out1.gz \&
spool /tmp/oracle.pipe
select * from employee;
spool off

_EOF

rm /tmp/oracle.pip

圧縮ファイルout1.gzの末尾にトレーラーを挿入する必要があります。

count=zcat out1.gz |wc -l

トレーラーの挿入方法

T5 (assuming count=5)

最後のファイルはout1.gzなので、解凍する必要はありません。

ベストアンサー1

man gzipご覧のように、pedgzipファイルは単にリンクすることができます:

高度な使用法を使用すると、複数の圧縮ファイルをリンクできます。この場合、gunzipはすべてのメンバーを一度に抽出します。たとえば、

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

  Then

        gunzip -c foo

  is equivalent to
         cat file1 file2

catこれはpedファイルを使用して行うこともできますgzip。たとえば、次のようになります。

seq 1 4 > A && gzip A
echo 5 > B && gzip B
#now 1 to 4 is in A.gz and 5 in B.gz, we want 1 to 5 in C.gz:
cat A.gz B.gz > C.gz && zcat C.gz
1
2
3
4
5
#or for appending B.gz to A.gz:
cat B.gz >> A.gz

外部ファイルなしでこれを行うには:

echo "this is the new line" | gzip - >> original_file.gz

おすすめ記事