Es posible que sepa que RSS es XML, que en sí mismo es un lenguaje de etiquetas simple. Los elementos XML son los valores establecidos por el marcador. La etiqueta contiene signos de puntuación que comienzan con una minúscula – (<) y terminan con un signo mayor que (>). Las etiquetas son de tres tipos:
- Etiquetas de inicio, marcando el valor de inicio (como <elemento>).
- Etiquetas finales, que marcan el final del valor (</item>).
- Etiquetas de “elemento vacío”, que pueden contener valores como atributos (<feedburner: info url = “linuxjournalcom” />).
Shell Script para demostrar el lector de RSS
Dado un archivo RSS XML, la tarea es analizar el contenido del archivo.
Entrada de muestra: https://www.feedforall.com/sample.xml
Salida de muestra:
FeedForAll Sample Feed Soluciones RSS para restaurantes <b>FeedForAll </b>ayuda a los restaurantes a comunicarse con los clientes. Informa a tus clientes sobre las últimas ofertas especiales o eventos.<br> Calendario de Eventos </i></font> Soluciones RSS para escuelas y universidades FeedForAll ayuda a las instituciones educativas a comunicarse con los estudiantes sobre actividades, eventos y horarios escolares.<br> Almuerzos Menús </i></font> Soluciones RSS para empresas de servicios informáticos FeedForAll ayuda a las empresas de servicios informáticos a comunicarse con los clientes sobre seguridad cibernética y temas relacionados. <br> Anuncios de empleo </i></font> RSS Solutions for Governments FeedForAll ayuda a los gobiernos a comunicarse con el público en general acerca de posiciones sobre diversos temas y mantener a la comunidad al tanto de los cambios en cuestiones legislativas importantes. <b><i><br> Boletines</i></font> Soluciones RSS para políticos FeedForAll ayuda a los políticos a comunicarse con el público en general acerca de posiciones sobre varios temas y mantener a la comunidad informada sobre su agenda. <br> </i></fuente> Soluciones RSS para meteorólogos FeedForAll ayuda a los meteorólogos a comunicarse con el público en general sobre avisos de tormentas y alertas meteorológicas en regiones específicas. Al usar RSS, los meteorólogos pueden difundir rápidamente advertencias meteorológicas urgentes y potencialmente mortales. <br> Cancelaciones escolares y lt;/i></fuente> Soluciones RSS para agentes inmobiliarios & Empresas de Bienes Raíces FeedForAll ayuda a los Agentes de Bienes Raíces y las empresas de Bienes Raíces a comunicarse con los clientes informándoles sobre las nuevas propiedades disponibles y los anuncios de puertas abiertas. RSS ayuda a llegar a un público objetivo y difundir el mensaje de una manera económica y profesional. <color de fuente=»#0000FF»><br> Tasas hipotecarias</i></font> Soluciones RSS para bancos/compañías hipotecarias FeedForAll ayuda a <b>bancos, uniones de crédito y compañías hipotecarias</b> comunicarse con el público en general sobre los cambios de tarifas de manera rápida y profesional. <br> Especiales</i></font> Soluciones RSS para las fuerzas del orden <b>FeedForAll</b> ayuda a los profesionales encargados de hacer cumplir la ley a comunicarse con el público en general y otras agencias de manera rápida y eficiente. Mediante el uso de RSS, la policía puede difundir rápidamente información urgente y potencialmente mortal. <br> Reuniones</i></font>
#!/bin/sh
# Akash 2022-02-13
# Url de la fuente RSS RSS_URL=””
# Paso 1: Descarga la fuente RSS
curl – silencioso “$RSS_URL” | \
# Paso 2: solo haga coincidir líneas con ‘título>’ o ‘descripción>’
grep -E ‘(título>|descripción>)’ | \
# Paso 3: Elimina las primeras 3 líneas tail -n +4 | \
#Otros métodos que usan sed en lugar de cola
#sed -n ‘4,$p’ | \ #sed -e ‘1,3d’ | \
# Paso 4: elimine todos los espacios en blanco iniciales de cada línea (espacios y tabulaciones)
sed -e ‘s/^[ \t]*//’ | \
# Paso 5: elimine todas las etiquetas de título y descripción. ‘<descripción>’ se reemplaza con ‘ ‘ para sangrar
sed -e ‘s/<título>//’ -e ‘s/<\/título>//’ -e ‘s/<descripción>/ /’ -e ‘s/<\/descripción>//’
El script de shell para el código anterior se puede escribir en una sola línea como se indica a continuación
## Comando todo en una línea: curl –silent “$RSS_URL” | grep -E ‘(título>|descripción>)’ | cola -n +4 | sed -e ‘s/^[ \t]*//’ | sed -e ‘s/<título>//’ -e ‘s/<\/título>//’ -e ‘s/<descripción>/ /’ -e ‘s/<\/descripción>//’
Fragmentos de ejecución del script: