2012-08-27 26 views
7

Tengo que comprimir varios archivos en un archivo tar. Como tengo que repetir esto para muchos archivos en muchas carpetas diferentes, escribí un script de shell y lo inicié desde un directorio padre. El script contiene múltiples líneas como las siguientes:Crear archivo tar sin estructura de carpeta

tar -cf a/b/c/tarfile.tar a/b/c/* 

Esto crea un alquitrán-archivo en la carpeta especificada pero dentro de la tar-File la estructura de carpetas de a/b/c/sigue siendo inexistente.

Lo que yo quiero es que todos los archivos en c/se colocan en tarfile.tar sin la estructura de carpetas a/b/c /. es posible?

Respuesta

14

tar -cf a/b/c/tarfile.tar -C a/b/c . se cambie al directorio a/b/c y leer en todo el directorio (el . - se puede especificar los archivos específicos también, pero un comodín no hará lo que usted está esperando). El patrón -C <directory> <filelist> se puede repetir según sea necesario para procesar archivos adicionales desde diferentes ubicaciones.

Otra posibilidad dado su ejemplo original sería cd a/b/c; tar cf ../../../tarfile.tar *, pero eso no le da la posibilidad de extraer varios archivos de diferentes ubicaciones (por supuesto, todavía podría usar -C, pero las rutas relativas tendrían que ajustarse en consecuencia).

+0

gracias twalberg, probé su segundo consejo y funcionó. (CD en direcotry primero y luego crear tar-File) – ala

Cuestiones relacionadas