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
Run Code Online (Sandbox Code Playgroud)
我需要在压缩文件 out1.gz 的末尾插入一个预告片,我可以使用
count=zcat out1.gz |wc -l
Run Code Online (Sandbox Code Playgroud)
我如何插入拖车
T5 (assuming count=5)
Run Code Online (Sandbox Code Playgroud)
在out1.gz 的末尾没有解压它。
Fel*_*xJN 22
从man gzip
你可以读到gzip
ped 文件可以简单地连接:
高级用法可以连接多个压缩文件。在这种情况下, gunzip 将一次提取所有成员。例如:
Run Code Online (Sandbox Code Playgroud)gzip -c file1 > foo.gz gzip -c file2 >> foo.gz Then gunzip -c foo is equivalent to
cat file1 file2
Run Code Online (Sandbox Code Playgroud)
这也可以cat
用于gzip
ped 文件,例如:
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
Run Code Online (Sandbox Code Playgroud)
要在没有外部文件的情况下为您添加行,请执行以下操作:
echo "this is the new line" | gzip - >> original_file.gz
Run Code Online (Sandbox Code Playgroud)
小智 5
我正在努力应对类似的挑战:在压缩的 sql 转储中附加几行。我的解决方案基于@Fiximan 的回答
echo 'append this string' | gzip >> out.gz
Run Code Online (Sandbox Code Playgroud)