Komprese 7z s přesměrováním bez zápisu na disk

Komprese 7z s přesměrováním bez zápisu na disk
« kdy: 15. 09. 2019, 17:31:07 »
Zkousim prijit na to, jak z jednoho archivu .bz2 vytvorim 7z archiv, bez toho, abych data z archivu .bz2 musel rozbalovat na disk. V archivu .bz2 je jeden jediny soubor, bez adresarove struktury datovy soubor, ktery je obrovsky (ze se na disk nevejde). Tedy chtel bych rozbaleni archivu .bz2 presmerovat primo na kompresi do archivu 7z, tedy 7z x archiv.bz2 | 7z a -t7z ...... archiv.7z

Kdyz se jednalo o vystup primo z terminalu (out), tak jsem pouzil prepinac -si. To mi ted nejde.
« Poslední změna: 15. 09. 2019, 21:49:20 od Petr Krčmář »


_Jenda

  • *****
  • 1 550
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:7z komprese s presmerovanim (bez zapisu kimprimovanych dat na disk)
« Odpověď #1 kdy: 15. 09. 2019, 18:21:09 »
Pro výstup je -so (jako že standard output). Takže 7z e -so archiv.bz2 | 7z a -si archiv.7z. Btw. na to první bych klidně použil bzcat.

Re:7z komprese s presmerovanim (bez zapisu kimprimovanych dat na disk)
« Odpověď #2 kdy: 15. 09. 2019, 18:49:51 »
Nedávno se tu řešilo něco velmi podobného: Konverze archivu ze zip do 7z.

Re:Komprese 7z s přesměrováním bez zápisu na disk
« Odpověď #3 kdy: 18. 09. 2019, 12:29:23 »
Diky, s tim -so pro vystup a -si pro vstup to funguje.

Toho vlakna ze zip do 7z jsem si nevsiml, nejze je to rozdil. Zatimco .bz2 nema adresarovou strukturu a je uvnitr jen jeden soubor (alespon co jsem kdy videl), u zip by se to s adresarovou strukturou viuzitelnosti podobnosti mezi soubory resilo hur. (Nejlepsi je u novejsiho 7z volba -mqs, radi v solid archive soubory za sebou podle pripony, pak podle jmena a umisteni). Takze by se pro co nejlepsiho vysledku asi musel ten zip archiv s vice roubory rozbalit, nebo to nejak naskriptovat a rozbalovat vzdy cast. Pokud je v zip jen jeden souborm, staci ono -si a -so.