Aquí hay una explicación detallada sobre cómo es posible extraer archivos específicos de un archivo. Específicamente, GNU tar puede usarse para extraer uno o más archivos de un tarball. Para extraer miembros específicos del archivo, proporcione sus nombres de miembro exactos como argumentos.
Por ejemplo:
tar --extract --file={tarball.tar} {file}
También puede extraer aquellos archivos que coincidan con un patrón de globo específico (comodines). Por ejemplo, para extraer de cbz.tar todos los archivos que comienzan con pic, sin importar su prefijo de directorio, puede escribir:
tar -xf cbz.tar --wildcards --no-anchored 'pic*'
Para extraer todos los archivos php, ingrese:
tar -xf cbz.tar --wildcards --no-anchored '*.php'
Dónde,
-x
: indica a tar que extraiga los archivos.
-f
: especifica el nombre del archivo / tarball.
-v
: Detallado (muestra el progreso al extraer archivos).
-j
: filtra el archivo a través de bzip2, úsalo para descomprimir archivos .bz2.
-z
: filtra el archivo a través de gzip, úsalo para descomprimir archivos .gz.
--wildcards
: indica a tar que trate los argumentos de la línea de comandos como patrones globales.
--no-anchored
: le informa que los patrones se aplican a los nombres de miembros después de cualquier / delimitador.
-t
lista hasta que el tarball se descargue completamente. En cualquier momento, la lista muestra solo nombres de archivos que han sido, o están siendo transferidos, es decir. no la lista completa ; hasta que esté completamente descargado.No lo intenté yo mismo, pero ¿qué tal esto?
Tar envía una línea a STDOUT por cada archivo extraído, luego el
head
comando matará la tubería después de 50 líneas. Al morir la tubería, esperaría que el alquitrán también muriera.fuente
head
. Déjame cambiar mi respuesta.tar
puede extraer más de 50 archivos antes de que sea SIGPIPEd, y en particular puede extraer el último archivo incompleto.te da la lista completa de archivos en
tarfile.tar
Este comando restaura el
fileToRestore
Para descomprimir varios archivos, pero no todos, puede:
Pones toda la lista de archivos
tarfile.tar
entar.txt
Ahora
tar.txt
tiene toda la lista de archivostarfile.tar
y puede dejar solo los archivos que desea restaurar o con la cabeza ...Puedes poner estas líneas en un archivo
O el archivo de script completo:
Y eso es todo
fuente