Como faço para compactar vários arquivos em um arquivo usando o lzma?

3

Olhando as opções de xz e lzma , não posso, durante a minha vida, descobrir como compactar vários arquivos em um único arquivo. Eu sei que é possível porque eu descompactei um arquivo .lzma e ele abriu uma tonelada de músicas. Se eu tentar fazer lzma -k file file file file , apenas comprime cada um individualmente. Existe uma opção ou argumento óbvio que estou perdendo?

    
por jackcogdill 22.01.2013 / 17:51

2 respostas

6

Uma coisa que você pode fazer é usar o tar:

tar cf files.lzma --lzma file1 file2 ... fileN

Ou mais simples,

tar cf files.lzma --lzma file*

Isso cria o arquivo files.lzma , que você pode descompactar usando:

tar xf files.lzma
    
por 22.01.2013 / 17:56
0

man lzma

EXEMPLOS

Noções básicas

Compacte o arquivo foo em foo.xz usando o nível de compactação padrão (-6) e remova foo se a compactação for bem-sucedida:

xz foo

Descompacte o bar.xz na barra e não remova o bar.xz mesmo que a descompressão seja bem sucedida:

xz -dk bar.xz

Crie baz.tar.xz com a predefinição -4e (-4 --extrema), que é mais lenta que, por exemplo, o padrão -6, mas precisa de menos memória para compactação e descompactação (48 MiB e 5 MiB, respectivamente):

tar cf - baz | xz -4e > baz.tar.xz

Uma mistura de arquivos compactados e não compactados pode ser descompactada para a saída padrão com um único comando:

xz -dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt
    
por 24.08.2015 / 20:03