¿Cómo puedo descomprimir archivos .7z a través de la terminal MacOS?

Buscando descomprimir un montón de archivos.7z a través de la terminal.

¿Hay una herramienta de línea de comandos incorporada, disponible o debo instalar una aplicación que viene con una interfaz gráfica?

Encontré una solución aquí: superuser.com/questions/548349/… aunque aún no lo he probado

Respuestas (9)

Se puede instalar p7zipcon Homebrew. Asi que

% brew install p7zip
% 7za x myfiles.7z

Instalar Homebrew como sugirió @EraserPencil tiene sentido, ya que el OP podría necesitar más programas en el futuro, que estarían al alcance de su mano en ese momento. Puedes instalar Homebrew con

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Cabe señalar que también existe 7z e, pero como comentó @Qback, esto casi nunca hace lo que desea si tiene subdirectorios en el archivo.

También tengo instalado 7zip. Desafortunadamente, dijo que el archivo está dañado y no pudo extraer el archivo. Intenté instalar 7za y funcionó de maravilla.

La versión de línea de comandos de Unarchive puede extraer archivos .7z.

MacOS no maneja el formato .7z de forma nativa.

El UnArchiver es mi herramienta favorita para manejar .7z y muchos otros formatos. Está disponible como aplicación y como herramienta de línea de comandos, si así es como prefiere operar.

Si no desea instalar homebrew, puede instalar keka (que es una excelente interfaz gráfica de usuario para (des) comprimir por cierto) y luego vincular a la versión incluida de p7zip que se encuentra enKeka.app/Contents/Resources/keka7z

Para que funcione desde la línea de comando, lo enlacé a mi/usr/local/bin

> ln -s /Applications/Keka.app/Contents/Resources/keka7z /usr/local/bin/7z
> 7z -h

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=utf8,Utf16=on,HugeFiles=on,64 bits,4 CPUs x64)
Modified by aONe for Keka

Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...]
       [<@listfiles...>]
Buena solución. El enlace simbólico hizo el truco.

También encontramos otra solución GUI totalmente gratuita que puede ejecutarse en macOS a partir de esta otra pregunta similar

Keka : el archivador/desarchivador de archivos macOS GRATUITO.

Puede instalar P7ZIP (versión 16.02, probado en macOS 10.11 o 10.15 ) desde Rudix . No tienes que instalar el ecosistema Rudix.

Resulta que, al momento de escribir este artículo, la distribución oficial de 7z tiene una descarga de cliente mac cli , actualmente 7-Zip 21.07 (2021-12-26) .

Descargar, descomprimir y luego ejecutar - funciona maravillosamente:

$ /Users/me/Downloads/7z2107-mac/7zz x some.7z

La primera vez que lo ejecute fallará con el mensaje "Desarrollador desconocido". Debe otorgarle permisos en el cuadro de diálogo Preferencias del sistema.

Si bien tienes un error como este

MacBook-Air ~ % brew install p7zip
Error: Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)!
To rerun under ARM use:
    arch -arm64 brew install ...
To install under x86_64, install Homebrew into /usr/local.

Use el siguiente código para M1 Chip Mac

arch -arm64 brew install p7zip
¿Qué necesitas arch -arm64para aquí?
altamente requerido arch -arm64en M1 Chip MacBook, si intenta instalar sin arch -arm64obtener un error.
Entonces tu configuración es extraña. Funciona sin eso para mí (y para otros). Puede valer la pena hacer una nueva pregunta para esto para que las personas puedan ayudarlo a evitar esto.
La configuración no es extraña, la arquitectura del chip M1 es arch -arm64por eso que necesitamos instalar cualquier comando brew con la misma arquitectura, no es necesario agregar otro Mac base de Intel arch -arm64.
arch solo es necesario si desea elegir una arquitectura específica de un binario universal. De forma predeterminada, una máquina M1 elegirá automáticamente arm64 sin ninguna ayuda del usuario (a menos que configure su terminal para que se ejecute con Rosetta, pero este no es el caso estándar).
De todos modos, ¿qué tipo de error obtienes cuando ejecutas brew sin arch?
Por favor revisa mi respuesta y sigue votando.
Solo obtiene este error si ejecuta un shell en x86/rosetta (consulte el comienzo de github.com/Homebrew/brew/issues/10313 para obtener más detalles). Solo asegúrese de que el shell se ejecute de forma nativa.

Debido a que está familiarizado con CLI y proviene de un entorno Linux, puede intentar instalar GNU-tar en Mac

Primero necesitaría instalar Homebrew ,

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

entonces brew install gnu-tarcorre Piense en brewcomo el yum, o apt-getequivalente.

Entonces puedes usarlo gtaren tu Mac.

# on Mac
$ gtar czvf example.tar.gz example
example/
example/bla.txt

# send it to CentOS
# login to CentOS

$ tar xzvf example.tar.gz
example/
example/bla.txt
AFAIK tarno extrae/descomprime .7zarchivos.