GNU/Linux >> Znalost Linux >  >> Linux

Jak připojit řádek do zazipovaného souboru bez rozbalení?

Od man gzip můžete si přečíst, že gzip ped soubory lze jednoduše zřetězit:

POKROČILÉ POUŽITÍVíce komprimovaných souborů lze zřetězit. V tomto případě gunzip extrahuje všechny členy najednou. Například:

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

  Then

        gunzip -c foo

  is equivalent to

         cat file1 file2

To lze také provést pomocí cat pro gzip ped soubory, např.:

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

Chcete-li to provést bez externího souboru pro váš řádek, který má být připojen, postupujte následovně:

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

Jak velký je váš zaměstnanecký stůl? Pokud nemáte milion zaměstnanců a každý záznam zabírá tisíce bajtů, pravděpodobně se vám ani nevyplatí komprimovat výstup.

Téměř jistě nestojí za to, abyste ho komprimovali, když se vytváří výstupní soubor - tak proč nevypsat pouze nekomprimovaný prostý text, spustit count=$(wc -l out1) ; echo "T$count" >> out1 a poté jej zkomprimujte pomocí gzip out1 ?

případně stačí spustit nějakou variantu select count(*) from employee před spool off příkaz.


Zápasil jsem s podobnou výzvou:připojit pár řádků do komprimovaného výpisu SQL. Moje řešení bylo založeno na odpovědi od @Fiximan

echo 'append this string' | gzip >> out.gz

Linux
  1. Jak přidat text na konec souboru v Linuxu

  2. Jak připojit více řádků k souboru?

  3. Jak počítat řádky v souboru v UNIX/Linux

  1. Jak připojím text k souboru?

  2. grep bez zobrazení cesty/souboru:řádku

  3. Jak připojit k souboru jako sudo?

  1. Jak snadno přidat text na konec souboru v Linuxu

  2. Jak posunout řádek v textovém souboru nahoru nebo dolů o jeden řádek?

  3. Jak odstranit soubor bez použití rm?