Tengo un archivo de texto, que contiene algo como:comportamiento de los espacios en blanco de expresiones regulares grep
12,34 EUR
5,67 EUR
...
Hay un espacio en blanco antes 'EUR' y yo ignore 0, XX de euros.
me trataron:
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 explicar pls, ¿por qué no puedo usar \s
pero \s*
y \s[E]
emparejado?
OS: Ubuntu 10.04, grep v2.5
O simplemente '[: space:]', por ej. de esta manera: 'cat file | grep "[[: space:]]" ' –
parece ser un error en la versión más nueva de grep (otro punto de vista) según esta solicitud de error http://www.mail-archive.com/bug-grep @ gnu.org/msg02686.html pero ¿por qué la última declaración coincide? – Milde
@Milde, fíjese en la publicación de seguimiento http://www.mail-archive.com/[email protected]/msg02689.html donde el informe de error se marcó como no válido y se cerró (por lo tanto, esto no se considera un error en grep más nuevo). – Kamal