Von man gzip
Sie können diesen gzip
lesen ped-Dateien können einfach verkettet werden:
ERWEITERTE VERWENDUNGMehrere komprimierte Dateien können verkettet werden. In diesem Fall extrahiert gunzip alle Mitglieder auf einmal. Zum Beispiel:
gzip -c file1 > foo.gz
gzip -c file2 >> foo.gz
Then
gunzip -c foo
is equivalent to
cat file1 file2
Dies könnte auch mit cat
geschehen für gzip
ped-Dateien, z. B.:
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
Um dies ohne externe Datei für Ihre anzuhängende Zeile zu tun, gehen Sie wie folgt vor:
echo "this is the new line" | gzip - | cat - >> original_file.gz
Wie groß ist Ihr Mitarbeitertisch? Wenn Sie nicht eine Million Mitarbeiter haben und jeder Datensatz Tausende von Bytes benötigt, lohnt es sich wahrscheinlich nicht einmal, die Ausgabe zu komprimieren.
Es lohnt sich mit ziemlicher Sicherheit nicht, sie zu komprimieren, während die Ausgabedatei erstellt wird - warum also nicht einfach in unkomprimierten Klartext ausgeben, führen Sie count=$(wc -l out1) ; echo "T$count" >> out1
aus , und dann mit gzip out1
komprimieren ?
Alternativ führen Sie einfach eine Variante von select count(*) from employee
aus vor dem spool off
Befehl.
Ich hatte mit einer ähnlichen Herausforderung zu kämpfen:ein paar Zeilen an einen komprimierten SQL-Dump anzuhängen. Meine Lösung basierte auf der Antwort von @Fiximan
echo 'append this string' | gzip >> out.gz