systemadmin.es > Utilidades > Extracción parcial de un tar

Extracción parcial de un tar

Es bastante normal tener un fichero tar enorme del que solo nos interesa una parte, ya sea porque incluimos más de lo que realmente necesitamos o porque el resto no resulta útil en este momento. Vamos a ver como realizar una extracción parcial de un tar

Suponiendo el contenido ficticio siguiente:

./excluir/d
./excluir/e
./excluir/f
./excluir/g
./extraer/a
./extraer/b
./extraer/c

Para indicar un patrón a excluir podemos usar el parámetro exclude:

tar --exclude=excluir -xf ejemplo.tar

En el caso que dispongamos de un listado de ficheros a excluir podemos usar la opción -X:

# echo excluir > patron
# tar -X patron -xf ejemplo.tar

Podemos indicar ya sea el directorio base como un fichero concreto:

# cat patron
excluir/f
# find -size 0
./excluir/d
./excluir/e
./excluir/g
./extraer/a
./extraer/b
./extraer/c

2 comments to “Extracción parcial de un tar”

  1. Hace un tiempo descubri como descomprimir una carpeta o archivo especifico de un .tar.gz. Esto surgio ante la necesidad de extraer un archivo de un backup de unos 90gb

    tar xvzf 20090226-163001.tar.gz */carpeta/*

    tar xvzf 20090226-163001.tar.gz */carpeta/archivo.php

    Quizás este relacionado a lo que comentas no?

    Sigue con tus post tan interesantes! Te seguimos! 🙂

  2. Para el caso de un fichero concreto tienes razón que se puede hacer indicando el fichero en lugar de un patrón:

    # tar --exclude=[ab] -xf ejemplo.tar
    # find -size 0
    ./excluir/d
    ./excluir/e
    ./excluir/f
    ./excluir/g
    ./extraer/c
    

    En el man puedes encontrar el siguiente ejemplo:

           tar -xzf foo.tar.gz blah.txt
                  extract the file blah.txt from foo.tar.gz
    

    Depende del caso puede ser útil una cosa o otra, muchas gracias por tu aportación

    saludos!

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>