Eu tenho um arquivo de texto contendo algo como:
12,34 EUR
5,67 EUR
...
Há um espaço em branco antes de 'EUR' e eu ignoro 0, XX EUR.
Eu tentei:
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 !
Alguém pode me explicar, por que não posso usar, \s
mas \s*
e \s[E]
combinou?
SO: Ubuntu 10.04, grep v2.5
[:space:]
, por ex. assim:cat file | grep "[[:space:]]"
\s
. Eu diria que seu comportamento é "indefinido". Use [: espaço:] ao invés, que funciona conforme documentado no grep antigo e no novo.