Linux

如何在不解壓縮的情況下在壓縮文件中追加一行?

  • May 25, 2021
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 結束時不解壓。

man gzip你可以讀到gzipped 文件可以簡單地連接:

高級用法 可以連接多個壓縮文件。在這種情況下,gunzip 將一次提取所有成員。例如:

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

  Then

        gunzip -c foo

  is equivalent to
        cat file1 file2

這也可以使用catpedgzip文件來完成,例如:

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

引用自:https://unix.stackexchange.com/questions/264980