2015-06-21 14 views
6

Ho un enorme archivio tarbell con un error_log eccessivamente grande o corrotto che causa il blocco dell'archivio quando si tenta di estrarlo. C'è un modo per rimuoverlo dall'archivio prima di decomprimerlo o estrarre l'archivio senza estrarre quel file specifico sul terminale Mac OS X?Come si elimina un singolo file da un archivio tar.gz

Ho trovato questo post su come efficiently-remove-files-from-large-tgz però, ho provato la bandiera --delete, ma ha ricevuto questo errore:

tar: Option --delete is not supported 

C'è un modo per:

  1. rimuovere il file dalla l'archivio senza decomprimerlo?
  2. estrarre l'archivio ma escludere il file?
+0

Quale versione di 'tar' stai usando? Se non è aggiornato, prova ad aggiornare alla versione più recente e controlla la pagina 'man' se' tar' supporta '--delete' come opzione. –

+1

L'opzione '--delete' è specifica per alcuni programmi' tar' (in particolare l'impostazione predefinita disponibile in linux). Dalla memoria, il tar predefinito in macos non lo supporta. Dovrai leggere il file man/help o ottenere un programma che supporti tale funzionalità. In caso contrario, decomprimere il file '.tar.gz', estrarre tutto dall'archivio, eliminare il file indesiderato e quindi ricostruire l'archivio. – Peter

+0

Santosh e Peter, grazie mille per le vostre risposte. Santosh, non sono sicuro di quale versione di tar sia in esecuzione su Mac OS x né come aggiornarla. Peter, grazie anche a te. Questa non è un'opzione, poiché l'estrazione dell'archivio non riesce a causa di quanto è grande il file error_log. – KillerDesigner

risposta

9

Come accennato nei commenti non è possibile rimuovere il file utilizzando tar, ma è possibile escludere il file durante l'estrazione:

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

Ha funzionato come un fascino. Grazie. – KillerDesigner

Problemi correlati