¡Es viernes por la tarde y mi cerebro se ha congelado!Obtener texto dentro de la etiqueta xml usando grep
grep -E -m 1 -o "<title>(.*)</title>" myfile.rss
vuelve
<title>Some title</title>
¿Cómo acaba de obtener Some title
?
¡Es viernes por la tarde y mi cerebro se ha congelado!Obtener texto dentro de la etiqueta xml usando grep
grep -E -m 1 -o "<title>(.*)</title>" myfile.rss
vuelve
<title>Some title</title>
¿Cómo acaba de obtener Some title
?
tubería que además a través de, por ejemplo
sed -e 's,.*<title>\([^<]*\)</title>.*,\1,g'
Gracias! Cerebro descongelado ;-) – tdc
+1, pero tenga en cuenta que el uso de 'sed' para analizar XML (o HTML) no es una buena idea en general. Se debe hacer solo cuando la entrada es bien conocida y no varía inesperadamente. Para cualquier cosa sorbida automáticamente de Internet, se debe usar un analizador apropiado. – Sorpigal
@Sorpigal, estoy completamente de acuerdo, vea los comentarios a la pregunta en sí para más detalles. –
Bash no tiene una función de acumulación para analizar XML. Puede considerar usar PHP, perl para analizar XML de la manera adecuada. Entonces obtener el valor del nodo será fácil – ajreal
Nah, ¡eso es una exageración total para la tarea! – tdc
Por lo que entiendo, solo queremos extraer el contenido del título de xml del diseño conocido, no analizar el xml. Para analizar xml 'xmlstarlet' puede ser una utilidad útil. –