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