estoy grepping un archivo XML, lo que me da salida como esta:Cómo eliminar etiquetas XML de la línea de comandos de Unix?
<tag>data</tag>
<tag>more data</tag>
...
Nota, este es un archivo plano, no un árbol XML. Quiero eliminar las etiquetas XML y simplemente mostrar los datos en el medio. Estoy haciendo todo esto desde la línea de comandos y me preguntaba si hay una manera mejor que las tuberías en awk dos veces ...
cat file.xml | awk -F'>' '{print $2}' | awk -F'<' '{print $1}'
Idealmente, me gustaría hacer esto en un comando
* "Estoy grepping un archivo XML" * - * "se trata de un archivo plano, no un árbol XML" * - Ahora, ¿el archivo está bien formado XML o no? – Tomalak
Quizás debería haber sido un poco más claro: es un archivo XML bien formado, pero una vez que lo he canalizado a través de grep ya no es una estructura de árbol XML, es esencialmente un archivo plano. – Tarski
Ahh, ahora tiene sentido para mí.De todos modos, he aceptado porque la versión * clean * sería pasar este archivo XML a través de XSLT, en lugar de a través de grep/sed. Escribiría una respuesta XSLT pero parece que has elegido tu veneno. :-) – Tomalak