linux - una - Cómo eliminar la ruta mientras se archiva con TAR
extraer metadatos de un video (1)
Tengo un archivo que contiene la lista de archivos que quiero archivar con tar. Llamémoslo 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 archivo comprimido pero excluyendo /path1/path2/
. Actualmente haciendo esto:
tar -cvf allfiles.tar -T mylist.txt
Conserva el camino después de desarchivar.
Intenté esto pero no funcionará también:
tar -cvf -C /path1/path2 allfiles.tar -T mylist.txt
/path1/path2
todos los archivos en /path1/path2
incluso aquellos que no están en mylist.txt
¿Hay una manera de hacerlo?
En su "Fase de extracción" puede usar la strip-components
como
tar xvf tarname.tar --strip-components=n
que eliminará los primeros n componentes principales del nombre de archivo. Aunque si tiene diferentes componentes de ruta de archivo, esto no funcionará en todos los casos.
Si quieres hacerlo mientras se 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 nombre de archivo
3) repetir para cada linea