Ich habe eine Textdatei, die Folgendes enthält:
12,34 EUR
5,67 EUR
...
Es gibt ein Leerzeichen vor 'EUR' und ich ignoriere 0, XX EUR.
Ich habe es versucht:
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 !
Kann mir jemand pls erklären, warum ich nicht verwenden können , \s
aber \s*
und \s[E]
abgestimmt?
Betriebssystem: Ubuntu 10.04, grep v2.5
[:space:]
zum Beispiel. so:cat file | grep "[[:space:]]"
\s
überhaupt auf sie. Ich würde sagen, sein Verhalten ist "undefiniert". Verwenden Sie stattdessen [: space:], was wie in altem und neuem grep dokumentiert funktioniert.