GNU/Linux >> Linux Esercitazione >  >> Linux

Come estraggo file senza struttura di cartelle usando tar

Basato su @ford la risposta di. Questo lo estrarrà nella cartella my_dirname. In modo che possiamo cancellare correttamente le cartelle vuote senza influenzare i file attualmente esistenti.

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

Questo è quasi possibile solo con tar, usando il flag --transform, tranne per il fatto che non c'è modo di eliminare le directory rimanenti per quanto ne so.

Questo appiattirà l'intero archivio:

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

L'output sarà

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

Sfortunatamente, dovrai quindi eliminare le directory con un altro comando.


Controlla la versione tar, ad es.

$ tar --version

Se la versione è >= rispetto a tar-1.14.90 usa --strip-components

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

altrimenti usa --strip-path

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

Puoi utilizzare --strip-components opzione di tar.

 --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 file tar con una struttura simile alla tua:

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

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

Quindi estratto facendo:

$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. Come estrarre o decomprimere il file tar.xz in Linux

  2. Come comprimere ed estrarre file usando il comando tar su Linux?

  3. Come comprimere ed estrarre file e directory in Linux usando gzip e bzip2

  4. Come estrarre il file nomefile.tar.gz

  5. Estrai file specifici in un archivio tar utilizzando un carattere jolly

Come estrarre (decomprimere) il file tar.xz

Tutto sui file tar e su come tar, untar file in Linux usando il terminale

Come estrarre il file Tar.xz sulla riga di comando di Linux

Come comprimere ed estrarre file utilizzando File Manager

Come spostare i file in un'altra cartella utilizzando File Manager

Come convertire file in formati diversi senza utilizzare software