with starts online example egrep regex grep gnu

starts - comportamiento de los espacios en blanco greg regex



grep-r example (1)

Tengo un archivo de texto que contiene algo como:

12,34 EUR 5,67 EUR ...

Hay un espacio en blanco antes de ''EUR'' e ignoro 0, XX EUR.

Lo intenté:

grep ''[1-9][0-9]*,[0-9]/{2/}/sEUR'' => didn''t match !

grep ''[1-9][0-9]*,[0-9]/{2/} EUR'' => worked !

grep ''[1-9][0-9]*,[0-9]/{2/}/s*EUR'' => worked !

grep ''[1-9][0-9]*,[0-9]/{2/}/s[E]UR'' => worked !

¿Puede alguien explicarme los pls, por qué no puedo usar /s pero /s* y /s[E] coinciden?

SO: Ubuntu 10.04, grep v2.5


Esto parece una diferencia de comportamiento en el manejo de /s entre grep 2.5 y versiones más recientes (¿un error en el antiguo grep?). Confirmo su resultado con grep 2.5.4, pero los cuatro vicios funcionan cuando se usa grep 2.6.3 (Ubuntu 10.10).

Nota:

GNU grep 2.5.4 echo "foo bar" | grep "/s" (doesn''t match)

mientras

GNU grep 2.6.3 echo "foo bar" | grep "/s" foo bar

Probablemente menos problemas (ya que /s no está documentado):

Both GNU greps echo "foo bar" | grep "[[:space:]]" foo bar

Mi consejo es que evite usar /s ... use [ /t]* o [[:space:]] o algo así.