Ferramenta universal de desarquivamento de linha de comando em um Mac

17

Existe alguma ferramenta de linha de comando que permita extrair arquivos dos tipos de arquivos mais conhecidos ? Algo como StuffIt Expander, mas sem gui.

tig
fonte

Respostas:

15

O Unarchiver possui dois utilitários de linha de comando desde a versão 2.5, de acordo com o site:

Os formatos de arquivo suportados incluem Zip, Tar-GZip, Tar-BZip2, RAR, 7-zip, LhA, StuffIt e muitos outros formatos mais e menos obscuros. [..] Se você possui um arquivo compactado que o Unarchiver não abre, publique um bug no rastreador de erros e inclua o arquivo em questão, e examinarei se é possível adicionar suporte para ele!

[..]

Agora existem dois utilitários de linha de comando disponíveis unare lsarque podem ser usados ​​para descompactar e listar arquivos, respectivamente. Eles ainda estão em desenvolvimento e não estão realmente completos, mas devem funcionar. Eles estão disponíveis como binários pré-compilados para o OS X e o Windows na página de download e também podem ser construídos no Linux.

Para baixar as ferramentas de linha de comando (não incluídas no download regular do The Unarchiver!), Acesse a página de downloads de códigos do Google no projeto e selecione unar0.2.zip(funciona em 20 de setembro de 2010).

Daniel Beck
fonte
Agradável! E suporta muitos formatos, exatamente como solicitado.
Arjan
11
Não consigo encontrar a CLI lá.
tig
11
tig: Você quer dizer que não foi possível clicar em "página de download" no segundo parágrafo, bem citado por Arjan acima e em "unar0.2.zip" lá? Porque funciona bem para mim.
Daniel Beck
@tig, seguindo o link mencionado por Daniel, consulte "utilitários de linha de comando unar0.2.zip, unar e lsar para Mac OS X 0.2 (versão beta)". Sim, é estranho que um criador de software de descompactação distribua seu próprio software em formato zip. ;-) Depois de descompactar, há um pouco de ajuda para usar ./unar --helpe./lsar --help
Arjan
adicionou informações de download à resposta
Daniel Beck
4

Experimente o 7-Zip . Além de seu próprio formato nativo (.7z), ele pode lidar com as seguintes extensões: ZIP, gzip, bzip2, tar e, no betas da versão 9, xz. Também pode descompactar (apenas) nos seguintes formatos: ARJ, CAB, CHM, cpio, DEB, DMG, HFS, ISO, LZH, LZMA, MSI, NSIS, RAR, RPM, UDF, WIM, XAR e Z.

Uma versão de linha de comando do Windows 7za.exeestá incluída. Para outras plataformas, uma versão POSIX denominada p7zipestá disponível no projeto P7ZIP SourceForge e algumas dessas portas também estão vinculadas na página de download do 7-Zip . Infelizmente, o link do Mac parece quebrado, portanto, para o OS X, construa você mesmo ou use o MacPorts .

EDIT: Para versões não Windows, vá para a página Downloads. Lá você pode encontrar a fonte e os binários pré-compilados.

Joe Casadonte
fonte
Apenas Windows, tanto quanto eu sei. A pergunta pede ferramentas de linha de comando para um Mac.
Arjan
4
@ Arjan: encontrados POSIX versão p7zip e há MacPort para ele
tig
@ tig, eu fundei seu comentário na resposta de Joe. No entanto, NÃO sei se p7zipsuporta todos os formatos que o 7-Zip suporta. Se alguém souber de um link de download binário, informe-nos.
Arjan
Infelizmente, p7zip não controla totalmente arquivos criados no Mac (com arquivos especialmente nomeados armazenar garfos e outro material extra)
tig
4

Se você usa o Homebrew , pode instalar atoole extrair muitos tipos de arquivos, como:

brew install atool
atool -x archive.anything

Supondo que os programas externos correspondentes estejam disponíveis no seu sistema, ele pode lidar com:

.tar.gz, .tgz, .tar.bz, .tbz, .tar.bz2, .tbz2, .tar.Z, .tZ, .tar.lzo, .tzo, .tar.lz, .tlz, .tar.xz, .txz, .tar.7z, .t7z, .tar, .zip, .jar, .war, .rar, .lha, .lzh, .7z, .alz, .ace, .a, .arj, .arc, .rpm, .deb, .cab, .gz, .bz, .bz2, .gz, .bz, .bz2, .Z, .lzma, .lzo, .lz, .xz, .rz, .lrz, .7z,.cpio

atool é um script para gerenciar arquivos de vários tipos (tar, tar + gzip, zip etc).

O comando principal é o aunpackque extrai arquivos de um arquivo morto. Você já extraiu arquivos de um arquivo morto, sem verificar se os arquivos estavam localizados em um subdiretório ou no diretório superior do arquivo morto, resultando em arquivos espalhados por todo o lugar? aunpacksupera esse problema extraindo primeiro para um novo diretório. Se houver apenas um único arquivo no arquivo morto, esse arquivo será movido para o diretório original. aunpacktambém impede que arquivos locais sejam substituídos por engano.

Os outros comandos fornecidos são apack(para criar arquivos), als(para listar arquivos em arquivos) e acat(para extrair arquivos para o padrão). Como atoolchama programas externos para manipular os arquivos, nem todos os comandos podem ser suportados para um determinado tipo de arquivo.

atoolidentifica arquivos pela extensão de arquivo. Às vezes, isso não é possível - por exemplo, os arquivos rar geralmente têm extensões numéricas variadas. Nos casos em atoolque não é possível identificar o formato, fileé usado. ( atoolpode ser configurado para não usar o arquivo.)

deizel
fonte
11
Ele também está disponível através MacPorts não só através homebrew e também é possível construir a partir da fonte
tig
MacPorts:sudo port install atool
ab77
4

Você pode usar brew install unarou brew install atoole então:

unar archive.gz
# or
atool -x archive.gz
Dorian
fonte
"Você não pode votar em seu próprio post": D
Dorian
2

Para os tipos de compactação e arquivamento que o Mac OS X conhece de maneira nativa, você pode simplesmente usar open, e ele invocará o "Utilitário de Arquivamento" (anteriormente BOMArchiveHelper), assim como faria com um clique duplo no Finder. Isso funciona para [pk] zip, gzip, bzip, bzip2, tar, pax, cpio, compress (.Z), etc. etc.

Se você possui aplicativos instalados que sabem como desarquivar outros formatos e se registraram para essas extensões ou magic(5)valores de arquivo , o opencomando iniciará esses aplicativos para lidar com esses tipos. É claro que você provavelmente terminará nas GUIs desses aplicativos.

Spiff
fonte
11
É isso que estou usando agora, mas tem algumas desvantagens: não consigo especificar opções como extrair para uma pasta específica, a janela do aplicativo está aparecendo (mesmo que eu a execute com -gela ainda está na janela da frente)
tig