[opensuse-es] Ayuda con localziaciond e cadenas y sustitucion en shell
Hola Tengo que reformar un script sh que tengo. la cosa es que tengo que localizar las cadenas: 1.- ">" y "<com:" 2.- ">" y "</com:" Los espacios en blanco que haya entre las cadenas en ambos dos casos los tengo que quitar. Alguien me puede echar una mano? Muchas Gracias -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
koxkorrita wrote:
Hola
Tengo que reformar un script sh que tengo. la cosa es que tengo que localizar las cadenas: 1.- ">" y "<com:" 2.- ">" y "</com:"
Los espacios en blanco que haya entre las cadenas en ambos dos casos los tengo que quitar. Alguien me puede echar una mano?
Muchas Gracias
Podrias poner una cadena como ejemplo, y como queres que quede? Porque no se si tengo del todo claro el objetivo. Gerardo -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
<com:
se convertiría en :
<com: y > </com: se convertiría en: </com:
Gracias -----Mensaje original----- De: Gerardo Herzig [mailto:gherzig@fmed.uba.ar] Enviado el: viernes, 01 de octubre de 2010 22:22 Para: koxkorrita CC: opensuse-es@opensuse.org Asunto: Re: [opensuse-es] Ayuda con localziaciond e cadenas y sustitucion en shell koxkorrita wrote:
Hola
Tengo que reformar un script sh que tengo. la cosa es que tengo que localizar las cadenas: 1.- ">" y "<com:" 2.- ">" y "</com:"
Los espacios en blanco que haya entre las cadenas en ambos dos casos los tengo que quitar. Alguien me puede echar una mano?
Muchas Gracias
Podrias poner una cadena como ejemplo, y como queres que quede? Porque no se si tengo del todo claro el objetivo. Gerardo -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
koxkorrita wrote:
<com:
se convertiría en :
<com: y > </com: se convertiría en: </com:
Gracias
a ver, si entendi... herzig@comechingon:~> cat test > <com:
</com:
gherzig@comechingon:~> sed 's/ *<com:/<com:/; s/> *<\/com/><\/com/g' test ><com:
</com:
Asi? -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El Fri, 01 Oct 2010 21:50:29 +0200, koxkorrita escribió:
Tengo que reformar un script sh que tengo. la cosa es que tengo que localizar las cadenas:
1.- ">" y "<com:" 2.- ">" y "</com:"
Los espacios en blanco que haya entre las cadenas en ambos dos casos los tengo que quitar. Alguien me puede echar una mano?
Si trabajas con archivos XML, te sigo recomendando la utilidad "xml_grep" que te permite obtener el valor de los nodos mediante xpath (en lugar de buscar coincidencias en las cadenas). Después podrás eliminar los espacios en blanco del texto resultante con "sed". Saludos, -- Camaleón -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
YA me acuerdo lo que me dijiste pero mi labor con sh es preparar los ficheros para luego ser tratados con java. Me puedes ayudar a quitar espacios en blanco entre esas cadenas? gracias por tu ayuda -----Mensaje original----- De: Camaleón [mailto:noelamac@gmail.com] Enviado el: viernes, 01 de octubre de 2010 22:45 Para: opensuse-es@opensuse.org Asunto: [opensuse-es] Re: Ayuda con localziaciond e cadenas y sustitucion en shell El Fri, 01 Oct 2010 21:50:29 +0200, koxkorrita escribió:
Tengo que reformar un script sh que tengo. la cosa es que tengo que localizar las cadenas:
1.- ">" y "<com:" 2.- ">" y "</com:"
Los espacios en blanco que haya entre las cadenas en ambos dos casos los tengo que quitar. Alguien me puede echar una mano?
Si trabajas con archivos XML, te sigo recomendando la utilidad "xml_grep" que te permite obtener el valor de los nodos mediante xpath (en lugar de buscar coincidencias en las cadenas). Después podrás eliminar los espacios en blanco del texto resultante con "sed". Saludos, -- Camaleón -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El Fri, 01 Oct 2010 23:18:36 +0200, koxkorrita escribió:
El Fri, 01 Oct 2010 21:50:29 +0200, koxkorrita escribió:
Si trabajas con archivos XML, te sigo recomendando la utilidad "xml_grep" que te permite obtener el valor de los nodos mediante xpath (en lugar de buscar coincidencias en las cadenas). Después podrás eliminar los espacios en blanco del texto resultante con "sed".
YA me acuerdo lo que me dijiste pero mi labor con sh es preparar los ficheros para luego ser tratados con java.
Ok. La ventaja de "xml_grep" es que trabaja directamente sobre el contenido de los nodos, no sobre las etiquetas, por lo que cuando tienes que realizar alguna búsqueda o sustitución de texto, resulta más efectivo y te evitas el uso de las expresiones regulares y del propio formato del archivo -saltos de línea- que te pueden dar problemas.
Me puedes ayudar a quitar espacios en blanco entre esas cadenas?
Creo que Gerardo ya te ha dado un "one liner" ¿lo has probado? Saludos, -- Camaleón -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
participants (3)
-
Camaleón
-
Gerardo Herzig
-
koxkorrita