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

Problema con expresiones regulares y bash para hacer matching exacto

Estas en el tema de Problema con expresiones regulares y bash para hacer matching exacto en el foro de Unix / Linux en Foros del Web. Buenas tardes y gracias por perder el tiempo leyéndome. Tengo el siguiente problema. Necesito saber la posición en la que se encuentra un determinado texto ...
  #1 (permalink)  
Antiguo 30/03/2011, 09:14
 
Fecha de Ingreso: noviembre-2003
Ubicación: Barcelona
Mensajes: 5
Antigüedad: 20 años, 5 meses
Puntos: 0
Pregunta Problema con expresiones regulares y bash para hacer matching exacto

Buenas tardes y gracias por perder el tiempo leyéndome. Tengo el siguiente problema.

Necesito saber la posición en la que se encuentra un determinado texto dentro de otro texto. Concretamente tengo q coger un path del estilo:

/home/juan/librerias/infraestructura/libreria01/

y de ahí obtener que la posición del texto "infraestructura" es 21. La única particularidad que hay es q en lugar de "infraestructura" puede ser también "suport", "opensource" o "proveedor" y ya está, solo estos posibles valores. Es decir, el path será algo así:

/home/juan/librerias/[infraestructura|proveedor|opensource|suport]/libreria01/

Esto probando esta expresión regular:

expr index $LIBRARY_PATH [.infraestructura]

pero esto me devuelve 5 pq la primera letra q aparece tanto en "infraestructura" como en el path es la "e".

La solución final debería ser algo así:
expr index $LIBRARY_PATH [.infraestructura|.proveedor|.opensource|.suport]

ya que yo necesito que localice una de estas 4 palabras en el path. Pero como de momento no me funciona ni con una, pues no he querido complicar más la cosa.

Que estoy haciendo mal? Segun he leido en un tutorial de la web BULMA, con el punto debería ser suficiente para indicar que quieres q haga el matching de toda la palabra y no de las letras por separado.

Gracias por vuestras respuestas

Etiquetas: bash, expresiones_regulares, regulares, sistemas-unix
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 21:53.