2011-11-07 7 views
22

Ho un file che contiene l'elenco dei file che voglio archiviare con tar. Chiamiamolo mylist.txtCome spogliare il percorso durante l'archiviazione con TAR

Contiene:

/path1/path2/file1.txt 
/path1/path2/file3.txt 
... 
/path1/path2/file10.txt 

Quello che voglio fare è quello di archiviare il file in un archivio ma esclusi /path1/path2/. Attualmente in questo modo:

tar -cvf allfiles.tar -T mylist.txt 

conserva il percorso dopo unarchiving.

Ho provato questo ma non funziona troppo:

tar -cvf -C /path1/path2 allfiles.tar -T mylist.txt 

Si archivia tutti i file in /path1/path2 anche quelli che non sono in mylist.txt

C'è un modo per farlo?

+0

sono tutti i file nella stessa strada? – hovanessyan

+0

@hovanessyan: si tutto nello stesso percorso. – neversaint

+2

stesso percorso == stessa directory? perché non 'cd' su quella directory e invochi tar lì? – hovanessyan

risposta

36

Nella tua "fase di estrazione", è possibile utilizzare il flag strip-components come

tar xvf tarname.tar --strip-components=n 

che rimuoverà i principali componenti di prima n del nome del file. Anche se si hanno diversi componenti del percorso file, questo non funzionerà in tutti i casi.

Se si vuole fare, mentre l'archiviazione, solo una cosa mi viene in mente, e voglio condividere

INPUT: elenco dei file + percorsi completi

1) per ogni linea, dividere il percorso fuori del nome del file

2) eseguire cd a quel percorso e catrame su quel nome

3) ripetere per ogni linea

+13

grazie. Sono a conoscenza di 'strip-components'. Tuttavia, preferisci ancora lo stripping durante l'archiviazione. – neversaint

+0

"cd & tar, then cd & tar" suona molto simile agli esempi in [il manuale tar su "Changing the Working Directory" su gnu.org] (http://www.gnu.org/software/tar/ manual/html_node/directory.html) usando -C nel "centro" di una riga di comando per aggiungere cd e aggiungere i seguenti file da quella directory, con più -C e più file, tutti aggiunti alla "root" del tar. Può anche mettere le linee '-C/path' negli elenchi di file' --files-from' – Xen2050

Problemi correlati