Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Xenomorfo77 en 16 Noviembre 2013, 15:47 pm



Título: Ayuda con bash!
Publicado por: Xenomorfo77 en 16 Noviembre 2013, 15:47 pm
Código
  1. #!/bin/bash
  2. wget http://www.aemet.es/xml/municipios/localidad_18022.xml
  3. mv localidad_18022.xml datos.xml
  4. lista=$(grep prob_precipitacion datos.xml | head -n 4)
  5. echo $lista
  6.  

Hola tengo una duda con ese codigo descargo el xml de una pagina del tiempo y me da esto:
<prob_precipitacion periodo="00-24"></prob_precipitacion>
<prob_precipitacion periodo="00-12"></prob_precipitacion>
<prob_precipitacion periodo="12-24">10</prob_precipitacion>
<prob_precipitacion periodo="00-06"></prob_precipitacion>

Lo que necesito es cojer el numero que queda entre las etiquetas (en este caso solo hay un 10) y guardarlo en una variable. ¿Alguien me explica como hacerlo o que herramientas necesito? Gracias!

EDITO: He podido solucionarlo. Cierren el post.



Título: Re: Ayuda con bash!
Publicado por: jdomgo3 en 21 Enero 2014, 22:44 pm
Para futuros lectores, esto se puede hacer por ejemplo así:

Código
  1. #!/bin/bash
  2. wget http://www.aemet.es/xml/municipios/localidad_18022.xml
  3. mv localidad_18022.xml datos.xml
  4. lista=$(grep prob_precipitacion datos.xml | head -n 4)
  5.  
  6. VARIABLE=`echo "$lista" | awk -F">" '{print $2}' | awk -F"<" '{print $1}'`
  7.  
  8. echo "$VARIABLE"
  9.  

También puedes hacerlo con cut o con sed.