Linux/Unix Shell Scripting - vi regex linux

 
Vista:

vi regex linux

Publicado por sandra (2 intervenciones) el 08/05/2014 19:44:12
Buen día,

Estoy aprendiendo a usar las regexp desde vi tengo un documento y estoy buscando las palabras error o fail y sus derivados errors o failed o failure etc y mi regexp es:
:/\(.*\(error|fail\).*\)/
Al ejecutarla me dice que no hay coincidencias :( pero para
:/\(.*\(error\).*\)/
o
:/\(.*\(fail\).*\)/
Si encuentra coincidencias, podrían decirme como me estoy equivocando??
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

vi regex linux

Publicado por Tom (361 intervenciones) el 08/05/2014 22:46:59
Siguiendo el infalible método de "ensayo y error" ... ¿ no has probado a usar el backslash en el '|' (igual que lo haces con los paréntesis ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

vi regex linux

Publicado por Sandra (2 intervenciones) el 10/05/2014 16:56:11
Tienes toda la razón, eso era, probé muchas cosas pero eso no, y encontré por que además, resulta que el pipe es un carácter con un significado especial para el shell de Linux(comunica órdenes) por eso hay que escapearlo.
Muchas gracias 😀
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

vi regex linux

Publicado por Tom (361 intervenciones) el 12/05/2014 10:50:07
Pues tendrás que investigar un poco más ... los caracteres "especiales" para el shell no tienen ninguna relación con los caracteres "especiales" para las RE del vi.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar