Portál AbcLinuxu, 25. dubna 2024 22:35


Dotaz: roura gzip -> tar

8.7.2008 13:49 lukyyn | skóre: 3
roura gzip -> tar
Přečteno: 400×
Odpovědět | Admin
Zdravim, nejak se mi nedari provest nasledujici:

mam nekolik souboru, ty potrebuji nejprve jednotlive zkomprimovat (gzipem) a pak je naskladat do archivu. Zaroven chci zachovat originalni soubory. takze neco jako:

gzip ~/adresarsesoubory/* | tar -cvr > vyslednybalicek.gz.tar

no ale zrovna tohle nejak nefachci ... poradite ? Diky
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

8.7.2008 14:03 Miška | skóre: 31 | Praha
Rozbalit Rozbalit vše Re: roura gzip -> tar
Odpovědět | | Sbalit | Link | Blokovat | Admin
gzip packuje soubor/stream. gzip neumi pracovat s vice soubory/adresarovou strukturou. Proto se pouziva tar. Cili reseni by asi bylo neco jako
FILES="`find cesta`"
for i in $FILSE; do
   gzip -c "$i" > "$i.gz"
done
TOPACK
for i in $FILES; do
   TOPACK="$TOPACK $i.gz"
done
tar -cf balicek.gz.tar $TOPACK
Samozrejme na mezery v souborech a jiny zakernosti by to chtelo doladit, ale doporucoval bych pouzit standartni tar.gz, cili nejdriv tar, pak gzip. I kvuli velikosti vysledneho souboru.
8.7.2008 14:04 Smajchl | skóre: 39 | blog: Drzy_Nazory | Praha
Rozbalit Rozbalit vše Re: roura gzip -> tar
Odpovědět | | Sbalit | Link | Blokovat | Admin
Asi by si chtel je nejdriv zabalit tarem a pak zkompresit gzipem ne?

tar -czf vyslednybalicek.gz.tar ~/adresarsesoubory/
My máme všechno co chcem, my máme dobrou náladu!
8.7.2008 14:08 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: roura gzip -> tar
Odpovědět | | Sbalit | Link | Blokovat | Admin
Gzip standardně nahrazuje soubory nahrazenou verzí a navíc umí pracovat pouze nad jednotlivými soubory, takže gzip ~/adresarsesoubory/* ti prostě ze všech souborů udělá soubory.gz bez toho, aby originály zůstaly zachovány. Takže bys musel pro každý soubor zavolat gzip -c soubor > soubor.gz a výsledek zatarovat.
When your hammer is C++, everything begins to look like a thumb.
8.7.2008 14:36 lukyyn | skóre: 3
Rozbalit Rozbalit vše Re: roura gzip -> tar
nene, prave naopak
8.7.2008 14:42 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: roura gzip -> tar
Co právě naopak? Podle mne to funguje přesně tak, jak Michal popsal. Ostatně man gzip říká:
Whenever possible, each file is replaced by one with the extension .gz, …
8.7.2008 15:03 lukyyn | skóre: 3
Rozbalit Rozbalit vše Re: roura gzip -> tar
omlouvam se - reakce patrila o radek vyse -> Smajchl
8.7.2008 15:01 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: roura gzip -> tar
Co je naopak?
When your hammer is C++, everything begins to look like a thumb.
8.7.2008 14:12 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: roura gzip -> tar
Odpovědět | | Sbalit | Link | Blokovat | Admin
Rouru použít nemůžete, protože ta předává jenom proud dat, nikoli jména souborů. To co jste napsal by možná sbalilo do jednoho výstupu zkomprimované soubory, ale nevěděl byste jejich názvy a hlavně byste nevěděl, kde jeden soubor končí a druhý začíná. Pokud opravdu potřebujete nejdřív soubory komprimovat a až pak zabalit (pravděpodobně tím dostanete horší kompresní poměr, než kdybyste vyrobil klasické tar.gz), budete muset použít nějaký dočasný adresář, do něj soubory zkomprimovat a soubory v adresáři pak zaarchivovat.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.