Alternativas para descompactar a linha de comando?


5

Descobri que a unzipferramenta de linha de comando não lida com alguns dos arquivos que estou descompactando: cria vários diretórios indesejados e cria arquivos cujos garfos de recursos não foram encontrados. (Talvez eles tenham sido criados de maneira estranha.)

$ unzip -d NEW-DIRECTORY ZIP

De qualquer forma, usar Archive Utilityé um começo, porque eu posso executar o seguinte e está próximo (e não atrapalha meus arquivos):

$ open -a "Archive Utility" ZIP

Mas isso não me permite especificar um novo diretório para o conteúdo !! Ele os coloca automaticamente no diretório atual. : P

Quais são minhas alternativas?

Respostas:



3

"O Desarquivador" é uma ótima ferramenta, e eu recomendo, tanto a GUI quanto a CLI.

Dito isto, meu unzipcomando é

ditto -xk foo.zip target_dir

onde 'target_dir' é o diretório onde eu quero que os arquivos apareçam (e pode ser '.' se você quiser que eles descompactem ali).

Observe que 'target_dir' será criado se necessário.

Observe também que dittonão se importa de sobrescrever arquivos, portanto, use com cuidado.

ditto no Mac OS X foi desenvolvido para preservar os recursos garfos etc., portanto, é o meu método preferido de descompactar arquivos, especialmente porque é fornecido com o OS X por padrão.


Não consigo fazer isso funcionar.
ThomasReggi

1

Eu vi essa resposta extremamente útil para um problema que eu estava tendo descompactando aplicativos em outra placa do usuário patashnik:

descompactar não lida com as forcas de recursos incorporadas nos arquivos ZIP criados pelo Finder. Se você deseja desarquivar esses arquivos da CLI, use o mesmo:

ditto -V -x -k --sequesterRsrc --rsrc FILENAME.ZIP DESTINATIONDIRECTORY

Se você deseja descompactar o arquivo morto no diretório atual, use. como DESTINATIONDIRECTORY


1

7z pode lidar com alguns arquivos compactados de maneira estranha brew install p7zip 7z x weirdarchive.zip




Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.