GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie entpacke ich Dateien ohne Ordnerstruktur mit tar

Basierend auf @ford 's Antwort. Dieser entpackt es in den Ordner my_dirname. Damit wir die leeren Ordner ohne betroffene aktuell vorhandene Dateien ordnungsgemäß löschen können.

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

Das ist fast mit tar allein möglich, indem das Flag --transform verwendet wird, außer dass es, soweit ich das beurteilen kann, keine Möglichkeit gibt, die übrig gebliebenen Verzeichnisse zu löschen.

Dadurch wird das gesamte Archiv reduziert:

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

Die Ausgabe ist

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

Leider müssen Sie die Verzeichnisse dann mit einem anderen Befehl löschen.


Überprüfen Sie die Tar-Version, z. B.

$ tar --version

Wenn die Version >= ist als tar-1.14.90 verwenden Sie --strip-components

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

ansonsten verwenden Sie --strip-path

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

Sie können die --strip-components verwenden Option von 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.

Ich erstelle eine Tar-Datei mit einer ähnlichen Struktur wie Ihre:

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

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

Dann extrahiert durch:

$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. So extrahieren Sie .gz- und .tar.gz-Dateien unter Linux

  2. Wie man Dateien tariert (komprimiert), bestimmte Dateien oder Verzeichnisse ausschließt

  3. So extrahieren oder entpacken Sie die tar.xz-Datei unter Linux

  4. Wie komprimiert und extrahiert man Dateien mit dem tar-Befehl unter Linux?

  5. So extrahieren Sie die Datei filename.tar.gz

So extrahieren (entpacken) Sie die tar.xz-Datei

Alles über Tar-Dateien und wie man Dateien in Linux mit Terminal tart und enttarnt

So extrahieren Sie die Tar.xz-Datei in der Linux-Befehlszeile

So komprimieren und extrahieren Sie Dateien mit dem Dateimanager

So verschieben Sie Dateien mit dem Dateimanager in einen anderen Ordner

So konvertieren Sie Dateien in verschiedene Formate, ohne Software zu verwenden