Hier finden Sie eine detaillierte Erklärung, wie Sie bestimmte Dateien aus einem Archiv extrahieren können. Speziell GNU tar kann verwendet werden, um eine oder mehrere Dateien aus einem Tarball zu extrahieren. Um bestimmte Archivmitglieder zu extrahieren, geben Sie ihre genauen Mitgliedsnamen als Argumente an.
Beispielsweise:
tar --extract --file={tarball.tar} {file}
Sie können auch Dateien extrahieren, die einem bestimmten Muster (Platzhalter) entsprechen. Um beispielsweise alle Dateien, die mit pic beginnen, aus cbz.tar zu extrahieren, können Sie Folgendes eingeben, unabhängig von ihrem Verzeichnispräfix:
tar -xf cbz.tar --wildcards --no-anchored 'pic*'
Geben Sie Folgendes ein, um alle PHP-Dateien zu extrahieren:
tar -xf cbz.tar --wildcards --no-anchored '*.php'
Wo,
-x
: weist tar an, Dateien zu extrahieren.
-f
: Gibt den Dateinamen / Tarballnamen an.
-v
: Ausführlich (Fortschritt beim Extrahieren von Dateien anzeigen).
-j
: Archiv über bzip2 filtern, zum Dekomprimieren von .bz2-Dateien verwenden.
-z
: Archiv über gzip filtern, zum Dekomprimieren von .gz-Dateien verwenden.
--wildcards
: weist tar an, Befehlszeilenargumente als Globbing-Muster zu behandeln.
--no-anchored
: weist darauf hin, dass die Muster für Mitgliedsnamen nach einem / -Trennzeichen gelten.
-t
Liste zu vermeiden, bis der Tarball vollständig heruntergeladen ist. Zu jedem Zeitpunkt werden in der Liste nur Dateinamen angezeigt, die übertragen wurden oder werden, d. H. nicht die vollständige Liste; bis es vollständig heruntergeladen ist.Ich habe das nicht selbst ausprobiert, aber wie wäre es damit:
Tar gibt für jede extrahierte Datei eine Zeile an STDOUT aus, dann beendet der
head
Befehl die Pipe nach 50 Zeilen. Wenn die Pfeife stirbt, würde ich erwarten, dass auch der Teer stirbt.quelle
head
. Lass mich meine Antwort ändern.tar
möglicherweise mehr als 50 Dateien vor SIGPIPEd extrahiert werden und insbesondere die letzte, unvollständige Datei.gibt Ihnen die gesamte Liste der Dateien in
tarfile.tar
Dieser Befehl stellt das wieder her
fileToRestore
Um mehrere, aber nicht alle Dateien zu entpacken, haben Sie folgende Möglichkeiten:
Sie setzen alle Dateilisten von
tarfile.tar
intar.txt
Jetzt
tar.txt
hat die ganze Liste der Dateien intarfile.tar
und Sie können nur die Dateien lassen, die Sie wiederherstellen möchten oder mit Kopf ...Sie können diese Zeilen in eine Datei einfügen
Oder die komplette Skriptdatei:
Und das ist alles
quelle