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í.