Herramienta de desarchivado de línea de comando universal en una Mac

17

¿Existe alguna herramienta de línea de comandos que permita extraer archivos de los tipos de archivo más conocidos ? Algo así como StuffIt Expander, pero sin interfaz gráfica de usuario.

tig
fuente

Respuestas:

15

El Unarchiver tiene dos utilidades de línea de comandos desde la versión 2.5 según el sitio web:

Los formatos de archivo admitidos incluyen Zip, Tar-GZip, Tar-BZip2, RAR, 7-zip, LhA, StuffIt y muchos otros formatos más y menos oscuros. [..] Si tiene un archivo comprimido que The Unarchiver no abre, publique un error en el rastreador de errores e incluya el archivo en cuestión, ¡y veré si es posible agregarle soporte!

[..]

Ahora hay dos utilidades de línea de comandos disponibles unary lsar, que se pueden usar para descomprimir y enumerar archivos, respectivamente. Todavía están en desarrollo y en realidad no tienen características completas, pero deberían funcionar. Estos están disponibles como binarios precompilados para OS X y Windows en la página de descarga , y también se pueden construir en Linux.

Para descargar las herramientas de línea de comandos (¡no incluidas en la descarga normal de The Unarchiver!), Vaya a la página de descargas de código de google del proyecto y seleccione unar0.2.zip(funciona a partir del 20 de septiembre de 2010).

Daniel Beck
fuente
¡Agradable! Y es compatible con muchos formatos, tal como se solicitó.
Arjan
1
No puedo encontrar CLI allí.
tig
1
tig: ¿Quieres decir que no pudiste hacer clic en "página de descarga" en el segundo párrafo citado por Arjan arriba y en "unar0.2.zip" allí? Porque me funciona bien.
Daniel Beck
@tig, siguiendo el enlace al que Daniel hizo referencia, consulte "utilidades de línea de comandos unar0.2.zip, unar y lsar para Mac OS X 0.2 (versión beta)". Sí, es extraño que un creador de unzip-software distribuya su propio software en formato zip. ;-) Después de descomprimir, hay un poco de ayuda para usar ./unar --helpy./lsar --help
Arjan
agregó información de descarga a la respuesta
Daniel Beck
4

Prueba 7-Zip . Además de su propio formato nativo (.7z) puede manejar las siguientes extensiones: ZIP, gzip, bzip2, tar y, en versiones beta para la versión 9, xz. También puede descomprimir (solo) en los siguientes formatos: ARJ, CAB, CHM, cpio, DEB, DMG, HFS, ISO, LZH, LZMA, MSI, NSIS, RAR, RPM, UDF, WIM, XAR y Z.

Se 7za.exeincluye una versión de línea de comandos de Windows . Para otras plataformas, una versión POSIX llamada p7zipestá disponible desde el proyecto P7ZIP SourceForge , y algunos de esos puertos también están vinculados desde la página de descarga de 7-Zip . Desafortunadamente, el enlace de Mac parece estar roto, así que para OS X, compílelo usted mismo o use MacPorts .

EDITAR: Para versiones que no sean de Windows, vaya a la página de Descargas. Allí puede encontrar la fuente, así como los binarios precompilados.

Joe Casadonte
fuente
Solo Windows, que yo sepa. La pregunta pide herramientas de línea de comandos para una Mac.
Arjan
44
@Arjan: encontré la versión POSIX p7zip y hay macport para ello
tig
@tig, fusioné tu comentario con la respuesta de Joe. Sin embargo, NO sé si es p7zipcompatible con todos los formatos que admite 7-Zip. Si alguien conoce un enlace de descarga binario, háganoslo saber.
Arjan
Desafortunadamente, p7zip no maneja completamente los archivos creados en mac (con archivos especialmente nombrados que almacenan tenedores y otras cosas adicionales)
tig
4

Si utiliza Homebrew , puede instalar atooly extraer muchos tipos de archivos de esta manera:

brew install atool
atool -x archive.anything

Suponiendo que los programas externos correspondientes estén disponibles en su sistema, puede manejar:

.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 es un script para administrar archivos de varios tipos (tar, tar + gzip, zip, etc.).

El comando principal es el aunpackque extrae los archivos de un archivo. ¿Alguna vez extrajo archivos de un archivo, sin verificar si los archivos estaban ubicados en un subdirectorio o en el directorio superior del archivo, lo que resultó en archivos dispersos por todo el lugar? aunpacksupera este problema extrayendo primero a un nuevo directorio. Si solo había un único archivo en el archivo, ese archivo se mueve al directorio original. aunpacktambién evita que los archivos locales se sobrescriban por error.

Los otros comandos proporcionados son apack(para crear archivos), als(para enumerar archivos en archivos) y acat(para extraer archivos a la salida estándar). Como se atoolinvoca programas externos para manejar los archivos, no todos los comandos pueden ser compatibles con un determinado tipo de archivos.

atoolidentifica archivos por su extensión de archivo. A veces esto no es posible; por ejemplo, los archivos rar suelen tener diferentes extensiones de archivos numéricos. En esos casos, cuando atoolno se puede identificar el formato, filese utiliza en su lugar. ( atoolse puede configurar para que no use el archivo)

deizel
fuente
1
También está disponible a través de macports no solo a través de homebrew y también es posible construir desde la fuente
tig
MacPorts:sudo port install atool
ab77
4

Puede usar brew install unaro brew install atooly luego:

unar archive.gz
# or
atool -x archive.gz
dorio
fuente
"No puedes votar por tu propia publicación": D
Dorian
2

Para los tipos de compresión y archivado que Mac OS X conoce de forma nativa, puede usarlos opene invocará "Archive Utility" (anteriormente BOMArchiveHelper), al igual que lo haría hacer doble clic desde el Finder. Esto funciona para [pk] zip, gzip, bzip, bzip2, tar, pax, cpio, compress (.Z), etc. etc.

Si tiene instaladas aplicaciones que saben cómo desarchivar otros formatos, y se han registrado para esas extensiones o magic(5)valores de archivo , entonces el opencomando iniciará esas aplicaciones para manejar esos tipos. Por supuesto, probablemente terminará en las GUI de esas aplicaciones.

Spiff
fuente
1
Eso es lo que estoy usando ahora, pero tiene algunas desventajas: no puedo especificar opciones como extraer a una carpeta específica, aparece la ventana de la aplicación (incluso si la ejecuto -g, todavía está debajo de la ventana más cercana)
tig