Cómo eliminar la ruta mientras se archiva con TAR [cerrado]


Tengo un archivo que contiene una lista de archivos que quiero archivar con tar. Vamos a llamarlo mylist.txt

Contiene:

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

Lo que quiero hacer es archivar este archivo en un tarball pero excluyendo /path1/path2/. Actualmente haciendo esto:

tar -cvf allfiles.tar -T mylist.txt

Preserva el camino después de desarchivarse.

He intentado esto pero no funciona demasiado:

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

Archiva todos los archivos en /path1/path2 incluso aquellos que no están en milista.txt

¿Hay alguna manera de hacerlo?

Author: neversaint, 2011-11-08

1 answers

En su "fase de extracción" puede usar la bandera strip-components como

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

Que eliminará los primeros n componentes principales del nombre del archivo. Aunque si tiene diferentes componentes file-path esto no funcionará en todos los casos.

Si desea hacerlo mientras archiva, solo una cosa viene a la mente, y compartiré

ENTRADA: lista de archivos + rutas completas

1) para cada línea, divida la ruta del nombre de archivo

2) ejecutar cd a esa ruta y tar en ese filename

3) repetir para cada línea

 36
Author: hovanessyan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-11-07 23:16:56