Ir a contenido
Está usando una versión antigua de su navegador. Este sitio web no está preparado para su visualización en navegadores obsoletos.
Por favor, por su seguridad, instale un navegador más actualizado y seguro.

Navegador Internet Explorer 8  Navegador Google Chrome  Navegador Mozilla Firefox
 

blog

26 ago

Hacer un tar desde una lista de ficheros

1 comentario Linux , how-to

Me acaba de ocurrir: tengo un listado de ficheros en un archivo, un fichero por línea, y debo hacer un paquete con ellos. Así que pruebo lo obvio:

 

$ tar zcf fichero.tgz < lista_ficheros
tar: Rechazo cobarde a crear un archivo vacío

 

Sorpresa, a tar no le gusta recibir la lista de ficheros a empaquetar "en columna", sino que los espera "en fila". Parecía trivial fusionar todas las líneas del listado de ficheros en una sola, pero al final me llevó un rato, así que lo anoto aquí para futuras referencias:

 

$ echo `cat lista_ficheros` >> lista_ficheros_linea
$ tar zcf fichero.tgz `cat lista_ficheros_linea`

 

Esto funcionará si el fichero con la lista de archivos no contiene líneas en blanco. Si es el caso, basta con filtrar caracteres:

 

$ echo `cat lista_ficheros | cut -f2 | grep ".${X}"` >> lista_ficheros_linea
$ tar zcf fichero.tgz `cat lista_ficheros_linea`

 

 



Comentarios


  • Antonio 04/11/2011 07:45

    Gracias por ponerme tras la pista. A mi también me hacía \"cosas raras\" el tar. Al final funciona con esto
    # find /mnt/db/-name \"valor\" -type f -ctime +2 > $OUT_DIR/$VALOR.out
    # cd $OUT_DIR
    # tar cvjf 2011_VALOR.tar.bz2 {echo `$VALOR.out`}

Añade un nuevo comentario







 Enviando, por favor, espera...
Debes rellenar todos los campos.

Nunca haré público tu email, sólo se requiere a efectos estadísticos.

Comentarios malsonantes, con insultos, racistas, homófobos o con malas intenciones serán eliminados.

¡Muchas gracias por participar!


Ver blog

Creative Commons License Esta web http://alvaroremesal.net , su contenido, texto e imágenes está licenciado bajo una Licencia Creative Commons Reconocimiento-Compartir bajo la misma licencia 3.0 España.

2012 - Álvaro Remesal Royo   Avisos legales

logo-acms