Foros del Web » Administración de Sistemas » Unix / Linux »

Expresión Regular de Busqueda

Estas en el tema de Expresión Regular de Busqueda en el foro de Unix / Linux en Foros del Web. Buenos días. Estoy trabajando desde Linux y necesito hacer una búsqueda mediante grep en una serie de fichero de un directorio para encontrar una pattern ...
  #1 (permalink)  
Antiguo 26/11/2008, 06:16
Avatar de crcbad  
Fecha de Ingreso: enero-2005
Mensajes: 302
Antigüedad: 19 años, 3 meses
Puntos: 0
Expresión Regular de Busqueda

Buenos días.

Estoy trabajando desde Linux y necesito hacer una búsqueda mediante grep en una serie de fichero de un directorio para encontrar una pattern determinada.

Os explico, para simplificar un poco las cosas, digamos que directamente quiero de un directorio dado, y de un fichero dado, encontrar lo siguiente: Aquellos elementos IFRAME que no tengan definido la propiedad src o bien que la tengan definida, pero esté en blanco. Obviamente, la etiqueta IFRAME puede ocupar una o varias líneas, lo cual complica la cosa, y al no saber exactamente en donde estará colocado el src más se complica.

Por ejemplo:

<IFRAME src=http://www.forosdelweb.com" target="_blank"></IFRAME>

Eso por ejemplo no debería mostrarse ya que existe el src y además no es blanco.

<IFRAME target="_self" name="foros" scrolling="auto"
src=""></IFRAME>
<IFRAME target="_blank" name="foros" scrolling="auto"
src="about:blank"></IFRAME>
<IFRAME target="_blank" name="foros" scrolling="auto"
frameborder="0"></IFRAME>

Em estps 3 casos, si que debería obtener dichas líneas ya que en la primera la propiedad src existe, pero está a blanco. En la segunda también, ya que existe, pero apunta a about:blank que es como tenerla en blanco, y en la tecera igual, ya que directamente no existiría la propiedad src.

Pues necesito intentar hacer con grep y uso de las expresiones regulares una búsqueda que pueda realizar esto que me está volviendo loco.

Alguna sugerencia gente?

Un saludo :)
__________________

:cool: [ http://eruben.sytes.net ] :cool:


Las dos frases que te ayudarán a salir adelante:
  • No hay mujer fea, solo copas de menos. :borracho:
  • Ante la duda, siempre coge la más tetuda. :arriba:
  #2 (permalink)  
Antiguo 26/11/2008, 07:33
Avatar de sysdebian  
Fecha de Ingreso: octubre-2008
Mensajes: 196
Antigüedad: 15 años, 6 meses
Puntos: 8
Respuesta: Expresión Regular de Busqueda

Buenas, con un grep lo tienes dificil, te pongo un poco y seguro que a partir de aquí puedes terminarlo:

Código:
sed -n '/<IFRAME/,/<\/IFRAME/p' rarara|egrep -c 'src=""|src="about:blank"'
__________________
Artigoo: Gestor de contenido online.
  #3 (permalink)  
Antiguo 26/11/2008, 07:33
Avatar de sysdebian  
Fecha de Ingreso: octubre-2008
Mensajes: 196
Antigüedad: 15 años, 6 meses
Puntos: 8
Respuesta: Expresión Regular de Busqueda

Aclaro que el "rarara" era el nombre del fichero :)
__________________
Artigoo: Gestor de contenido online.
  #4 (permalink)  
Antiguo 26/11/2008, 08:40
Avatar de crcbad  
Fecha de Ingreso: enero-2005
Mensajes: 302
Antigüedad: 19 años, 3 meses
Puntos: 0
Respuesta: Expresión Regular de Busqueda

Muchas gracias por la ayuda.

La verdad es que no tengo ni idea del comando SED, sé que existe y demás y que no recomiendan usarlo, pero como tal, yo nunca lo he usado.

La intrucción que me mandaste la he separado para ver lo que realmente hace el SED, quitando el -n para ver el resultado, y me devuelve todo el fichero como tal, eso es correcto?

Es decir, no debería devolverme las líneas envueltas bajo la expresión puesta de estar entre esas dos etiquetas?

Un saludoi, y gracias de nuevo :)
__________________

:cool: [ http://eruben.sytes.net ] :cool:


Las dos frases que te ayudarán a salir adelante:
  • No hay mujer fea, solo copas de menos. :borracho:
  • Ante la duda, siempre coge la más tetuda. :arriba:
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:43.