4 votos

Averiguar el tamaño de un. tar.gz archivo en la terminal sin desempacar

Yo tengo una de 32 gb .tar.gz archivo y me gustaría saber el tamaño de los archivos si me descomprimir este archivo comprimido. Me gustaría evitar que descomprimir el archivo primero y de uso por ejemplo du.

También es posible averiguar el tamaño de los archivos sin desempaquetar el archivo comprimido (en Linux y/o MacOSX sistema)?

Por otro archivo que yo sé, que también contiene .tar.gz los archivos. También es posible calcular el tamaño de la descomprimido los archivos que están contenidos dentro de un archivo? (por ejemplo mediante el establecimiento de un nivel para el cual el "desembalaje" debe ser simulado?)

4voto

Mark Adler Puntos216

Seguro. Sólo uso -tv a la lista de los contenidos con sus tamaños. E. g.

% tar -tvzf sometools2.tar.gz 
-rw-r--r-- madler/admin   3442 2005-02-27 21:40 pngdat.c
-rw-r--r-- madler/admin  24938 2005-02-27 21:39 infgen.c

Si se quiere añadir los tamaños (como du), puede utilizar awk:

% tar -tvzf sometools2.tar.gz|awk '{ s += $3 } END { print s }'
28380

Para un incrustada .tar.gz archivo, usted necesita para hacer de forma individual cuando encuentre ellos enviándolos a stdout con -O:

% tar -tvzf imbed.tar.gz 
-rw-r--r-- madler/staff    505 2012-02-12 00:06 lucas.c
-rw-r--r-- madler/staff  27913 2005-03-20 11:10 lzwtry.c
-rw-r--r-- madler/staff   8314 2005-02-27 21:42 sometools2.tar.gz
% tar -xOzf imbed.tar.gz sometools2.tar.gz | tar -tvzf - | awk '{ s += $3 } END { print s }'
28380

Usted puede escribir una secuencia de comandos para encontrar a aquellos en la -tv de salida y, a continuación, extraer de ellos, e incluso hacerlo de forma recursiva. Voy a dejar que como ejercicio para el lector.

Tenga en cuenta que estas opciones son para GNU tar, que es lo que está en Linux y Mac OS X. Las opciones para BSD alquitrán pueden ser diferentes.

0voto

Beachwalker Puntos109

No sé cómo hacer algo como esto en el terminal (que yo sepa no es posible). Pero más librerías de programación para la extracción de archivos también permiten información contenido de la consulta (por ejemplo, árbol, tamaño de contenido) sin extraer el contenido comprimido entero.

Así que podría crear una herramienta de línea de comandos con cualquier lenguaje de programación que se ajuste a sus necesidades y luego llamarlo desde la línea de comandos.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: