2015-06-21 27 views
6

Ich habe ein riesiges tarbell-Archiv mit einem übermäßig großen oder beschädigten error_log, das das Archiv zum Absturz bringt, wenn es versucht wird, es zu extrahieren. Gibt es eine Möglichkeit, diese aus dem Archiv zu entfernen, bevor Sie das Archiv entpacken oder extrahieren, ohne diese spezifische Datei auf dem Mac OS X-Terminal zu extrahieren?Wie lösche ich eine einzelne Datei aus einem tar.gz-Archiv

ich diesen Beitrag auf gefunden, wie jedoch efficiently-remove-files-from-large-tgz, habe ich versucht, die --delete Flagge, erhielt aber diesen Fehler:

tar: Option --delete is not supported 

Gibt es eine Möglichkeit zu:

  1. die Datei entfernen das Archiv ohne es zu entpacken?
  2. das Archiv extrahieren, aber die Datei ausschließen?
+0

Welche Version von 'tar' verwenden Sie? Wenn es veraltet ist, versuchen Sie, auf die neueste Version zu aktualisieren und überprüfen Sie die 'man' Seite, wenn' tar' '' delete' 'als Option unterstützt. –

+1

Die '--delete'-Option ist spezifisch für einige 'tar'-Programme (insbesondere die unter Linux verfügbare Standardeinstellung). Aus dem Speicher unterstützt das Standardtar unter Macos das nicht. Sie müssen die man/help-Datei lesen oder ein Programm anfordern, das diese Funktionalität unterstützt. Wenn alles andere fehlschlägt, entpacken Sie die Datei ".tar.gz", extrahieren Sie alles aus dem Archiv, löschen Sie die unerwünschte Datei und erstellen Sie das Archiv neu. – Peter

+0

Santosh und Peter, vielen Dank für Ihre Antworten. Santosh, ich bin mir nicht sicher, welche Version von tar unter Mac OS x läuft und wie man es aktualisiert. Peter, danke auch. Dies ist keine Option, da das Extrahieren des Archivs aufgrund der Größe von error_log fehlschlägt. – KillerDesigner

Antwort

9

Wie in den Kommentaren erwähnt es nicht möglich ist, die Datei mit Teer zu entfernen, aber Sie können die Datei aus, wenn sie zu extrahieren:

tar -zxvf file.tar.gz --exclude "file_to_exclude" 
+0

Arbeitete wie ein Charme. Vielen Dank. – KillerDesigner

Verwandte Themen