¿Hay alguna manera de convertir un ziparchivo en un tararchivo sin extraerlo primero a un directorio temporal? (y sin escribir mi propia implementación de taro unzip)
shell-script
tar
zip
usuario253751
fuente
fuente

Respuestas:
Ahora está disponible como comando instalable desde PyPI, vea el final de esta publicación.
No conozco ninguna utilidad "estándar" que lo haga, pero cuando necesitaba esta funcionalidad, escribí el siguiente script de Python para pasar de archivos comprimidos tar a ZIP a Bzip2 sin extraer nada al disco primero:
Simplemente guárdelo
zip2tary hágalo ejecutable o guárdelozip2tar.pyy ejecútelopython zip2tar.py. Proporcione el nombre de archivo ZIP como argumento para el script, el nombre de archivo de salidaxyz.zipseráxyz.tar.bz2.La salida comprimida de Bzip2 normalmente es mucho más pequeña que el archivo zip porque este último no usa patrones de compresión en varios archivos, pero también hay menos posibilidades de recuperar el archivo posterior si algo en el archivo Bzip2 está mal.
Si no desea comprimir la salida, elimine
:bz2y.bz2del código.Si ha
pipinstalado en un entorno python3, puede hacer:para obtener una
zip2tarutilidad de línea de comandos haciendo lo anterior (descargo de responsabilidad: soy el autor de ese paquete).fuente
timecarece de unimport.timecomentario, actualizo la respuestaEl
tarcomando trata con los sistemas de archivos. Su entrada es una lista de archivos que luego lee de un sistema de archivos (incluidos muchos metadatos). Debería presentar el archivo zip como un sistema de archivos para que eltarcomando lo lea.Un sistema de archivos virtual: AVFS permitirá que cualquier programa busque archivos comprimidos o comprimidos a través de una interfaz de sistema de archivos estándar a través de FUSE .
Hay información detallada en el archivo Léame avfs-fuse y algunas distribuciones tienen paquetes para ello.
Uno tiene instalado AVFS, luego puede
AVFS completará cualquier información para el sistema de archivos que falta en el archivo zip, como la propiedad del archivo, que recogerá tar.
fuente
Aquí hay un pequeño fragmento que convierte un archivo ZIP en un archivo TAR.GZ coincidente en OnTheFly.
Convierte archivos ZIP a archivos TAR sobre la marcha
Fuente
fuente