GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo extraigo archivos sin estructura de carpetas usando tar?

Basado en @ford la respuesta Este lo extraerá a la carpeta my_dirname. Para que podamos borrar correctamente las carpetas vacías sin afectar los archivos existentes actualmente.

tar xzf images.tgz --transform='s/.*\///' -C my_dirname
find my_dirname -type d -empty -delete

Esto es casi posible con tar solo, usando el indicador --transform, excepto que no hay forma de eliminar los directorios sobrantes por lo que puedo decir.

Esto aplanará todo el archivo:

tar xzf images.tgz --transform='s/.*\///'

La salida será

folder1/
folder2/
folder3/
img.gif
img2.gif
img3.gif

Desafortunadamente, deberá eliminar los directorios con otro comando.


Compruebe la versión tar, por ejemplo,

$ tar --version

Si la versión es >= que tar-1.14.90 use --strip-components

tar xvzf web.dirs.tar.gz -C /srv/www --strip-components 2

de lo contrario usa --strip-path

tar xvzf web.dirs.tar.gz -C /srv/www --strip-path 2

Puede utilizar --strip-components opción de alquitrán.

 --strip-components count
         (x mode only) Remove the specified number of leading path ele-
         ments.  Pathnames with fewer elements will be silently skipped.
         Note that the pathname is edited after checking inclusion/exclu-
         sion patterns but before security checks.

Creo un archivo tar con una estructura similar a la tuya:

$tar -tf tarfolder.tar
tarfolder/
tarfolder/file.a
tarfolder/file.b

$ls -la file.*
ls: file.*: No such file or directory

Luego extraído haciendo:

$tar -xf tarfolder.tar --strip-components 1
$ls -la file.*
-rw-r--r--  1 ericgorr  wheel  0 Jan 12 12:33 file.a
-rw-r--r--  1 ericgorr  wheel  0 Jan 12 12:33 file.b

Linux
  1. Cómo extraer archivos .gz y .tar.gz en Linux

  2. Cómo tar (comprimir) archivos, excluyendo ciertos archivos o directorios

  3. Cómo extraer o descomprimir el archivo tar.xz en Linux

  4. ¿Cómo comprimir y extraer archivos usando el comando tar en Linux?

  5. Cómo comprimir y extraer archivos y directorios en Linux usando gzip y bzip2

Cómo extraer (descomprimir) el archivo tar.xz

Todo sobre archivos tar y cómo tar, untar archivos en Linux usando Terminal

Cómo extraer el archivo Tar.xz en la línea de comandos de Linux

Cómo comprimir y extraer archivos usando el Administrador de archivos

Cómo mover archivos a otra carpeta usando el Administrador de archivos

Cómo convertir archivos a diferentes formatos sin usar software