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?
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
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