Remobrar desde TXT

Temas sobre programación ( php, c, sql, html, perl, python, ruby, java, bash, etc ) y recursos ( herramientas, frameworks, hosting, cms, etc )

Moderadores: akodo, maiku

Responder
Jota_Enter
Forista Nuevo
Forista Nuevo
Mensajes: 1
Registrado: Vie Dic 29, 2017 11:23 am

Remobrar desde TXT

Mensaje por Jota_Enter » Vie Dic 29, 2017 11:56 am

Hola a todos, le he estado dando vueltas pero no soy capaz.
Tengo un archivo libreoffice calc en ods, csv y txt, cualquier formato vale. Yo he probado en txt separado por "#". En ese archivo hay 2 columnas, una con el nombre del fichero original y otra con el nombre del fichero FINAL, resultado de unas concatenaciones de celdas etc.
COLUMNA1 COLUMNA2
Nombreactual1 NombreFINAL1
Nombreactual2 NombreFINAL2
Nombreactual3 NombreFINAL3
El caso es que no siguen ninguna logica los cambios de nombre (no es vacaciones1, vacaciones2, etc).
Seria, Buscar nombreactual1, cambiar por nombreFINAL1, iterar, asi asi. Pero no soy capaz de traducirlo a Bash. Alguien me ayuda?
Este es mi codigo
for LINEA in `cat datos.txt ` #LINEA guarda el resultado del fichero datos.txt
do
original=`echo $LINEA | cut -d "#" -f1` #Extrae original
reemplazar=`echo $LINEA | cut -d "#" -f2` #Extrae final

mv $original $reemplazar

done
Avatar de Usuario
neurus
Forista Legendario
Forista Legendario
Mensajes: 1807
Registrado: Dom Oct 10, 2004 7:00 am

Re: Remobrar desde TXT

Mensaje por neurus » Sab Dic 30, 2017 12:15 am

No se entiende. Postea, prolijo, dos o tres líneas del archivo original, y las mismas dos o tres líneas de cómo quieres que quede.

Dices que no hay ninguna lógica. No sé a qué llamas lógica, pero lo que se busca en programación son patrones. Y nos das de ejemplo un patrón evidente: nombreactual1, nombreactual2 (si eso no tiene una lógica...)
Siempre hay un patrón. La cuestión es encontrarlo. A veces puede ser muy difícil encontrar el patrón. Y no mencionas -eso sí tienes que saberlo- qué patrón debe tener el nombrefinal.

En fin, pon un ejemplo de cómo es el archivo y cómo debería ser. Digamos: punto de partida y punto de llegada.

Si no, nadie sabe qué buscas.
Vamos a rogar al cielo que tú sí lo sepas.
salvipablo
Forista Nuevo
Forista Nuevo
Mensajes: 5
Registrado: Mar Ago 21, 2018 3:17 pm

Re: Remobrar desde TXT

Mensaje por salvipablo » Mié Ago 22, 2018 2:57 pm

Según entiendo, lo que queres realizar es renombrar un archivo que tiene un nombre por otro. Pero queres que sea automático y a varios archivos

Lo que hiciste fue poner en una columna, el nombre actual del archivo, y en otra columna el nombre nuevo que debería tener.

Entonces queres que la programación renombre los archivos automáticamente como decia. No conozco la programación Bash, yo logre hacer esto que necesitas con una macro en Excel, este lenguaje VBA tiene una instrucción que renombra archivos, entonces arme una programación que hace un loop ,que recorre las celdas y va renombrando los archivos, hasta que llega a una celda vacía y termina.

Por lo que veo en tu código fuente, el problema podría estar en que usas mv, que si mal no entiendo no es para renombrar sino para mover un archivo, tal vez por eso no está funcionando y tendrías que comprobar con un print, en el medio, si estas armando bien las rutas de origen y destino.

Tengo entendido que LibreOffice cuenta también con la posibilidad de Macros, pero con otro lenguaje que no conozco por el momento. Pero podrías tal vez investigando un poco hacer este programita directamente con LibreOffice Calc directamente.
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje