
buscar y reemplazar string
Publicado por Abby (3 intervenciones) el 07/11/2016 13:36:52
Muy buenas gente,
desesperación máxima por este problema.
Tengo un xml (o varios) con muchos tags del tipo <INCOND NAME="KJHJUM-....> (como ejemplo)
El tema es, que debo cambiar esa X de KJHJUM por otra letra, por ejemplo X.
Una aproximación de ideas sería:
encontrar la fila que contiene <INCOND como inicio de fila
y luego jugar con una serie de " cut " para encontrar la última letra del string y reemplazarla con un sed.
algo así como:
intemp='echo $LaFilaQueEmpiezaPor<INCOND | cut -d "-" 1` #me quedo con la izda del -
incond=`echo $intemp | cut -d "=" 2` #con la derecha del igual
incond= $incond sed 's/"//g' #Para quitar las comillas que me molestan para otras cosas
y, asi ya debería tener la palabra KJHJUM luego la dividiría para reemplazar y tal...
El problema viene en que no encuentro la forma de encontrar fila a fila las que empiezan por INCOND y aplicarle una a una los comandos anteriores (bien escritos, claro)
He probado con grep pero no se si es una solución viable, almenos yo no lo super hacer....
Muchísimas gracias por vuestra ayuda y tiempo!!
desesperación máxima por este problema.
Tengo un xml (o varios) con muchos tags del tipo <INCOND NAME="KJHJUM-....> (como ejemplo)
El tema es, que debo cambiar esa X de KJHJUM por otra letra, por ejemplo X.
Una aproximación de ideas sería:
encontrar la fila que contiene <INCOND como inicio de fila
y luego jugar con una serie de " cut " para encontrar la última letra del string y reemplazarla con un sed.
algo así como:
intemp='echo $LaFilaQueEmpiezaPor<INCOND | cut -d "-" 1` #me quedo con la izda del -
incond=`echo $intemp | cut -d "=" 2` #con la derecha del igual
incond= $incond sed 's/"//g' #Para quitar las comillas que me molestan para otras cosas
y, asi ya debería tener la palabra KJHJUM luego la dividiría para reemplazar y tal...
El problema viene en que no encuentro la forma de encontrar fila a fila las que empiezan por INCOND y aplicarle una a una los comandos anteriores (bien escritos, claro)
He probado con grep pero no se si es una solución viable, almenos yo no lo super hacer....
Muchísimas gracias por vuestra ayuda y tiempo!!
Valora esta pregunta


0