Tengo un archivo .tar.bz2 que quiero descomprimir y extraer a través de la herramienta de línea de comandos 7-zip.
Así que básicamente estoy buscando el equivalente de
tar -xjf foo.tar.bz2
con 7-zip solo hay la opción "x" para extraer, así que
7z x foo.tar.bz2
me da el archivo inflado foo.tar en lugar de descomprimir todos los directorios dentro del tar. ¿Cuál es la opción correspondiente para 7z?
Respuestas:
Con 7zip, debe ejecutar el comando dos veces, una para descomprimir y otra para extraer. El formato del archivo tar es solo un "fajo" de todo lo que está atascado de extremo a extremo. Luego, todo el archivo tar se comprime usando varios algoritmos de compresión, en su ejemplo bzip. Básicamente, el archivo resultante tiene dos capas. Cuando "extrae" la capa bzip, obtiene un archivo tar, luego, cuando extrae el archivo tar, obtiene un montón de archivos individuales.
7zip no maneja varias capas a la vez, aunque puede manejar ambas capas:
En realidad, las herramientas estándar de Unix funcionan de la misma manera:
Sin embargo, el
tar
comando unix tiene características convenientes que llaman a los pasos secundarios de compresión y descompresión utilizando otro programa antes / después de que maneja la parte tar. Básicamente, el-j
argumento llama abzip2
/bunzip2
, simplemente no ves el segundo paso. Asimismo-z
llamarágzip
/gunzip
, etc.fuente
Si bien no puede hacer esto en un comando, puede hacer uso de una tubería de shell para encadenar dos comandos 7z en una línea de comando de la siguiente manera:
fuente
¿Qué tal una versión más corta de la combinación de 7z y alquitrán usando salidas estándar y tuberías?
fuente
fuente