Ich habe eine Textdatei, mit so etwas wie:grep regex Leerzeichen Verhalten
12,34 EUR
5,67 EUR
...
Es gibt ein Leerzeichen vor 'EUR' und ich ignoriere 0, XX EUR.
Ich habe 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 \s
verwenden können, aber \s*
und \s[E]
abgestimmt?
OS: Ubuntu 10.04, grep v2.5
Oder einfach nur '[: space:]', z. so: 'Katzendatei | grep "[[: space:]:]]" ' –
Es scheint sich um einen Bug in der neueren Version von grep zu handeln (andere Sichtweise) gemäß dieser Fehleranforderung http://www.mail-archive.com/bug-grep @ gnu.org/msg02686.html aber warum stimmt die letzte Aussage überein? – Milde
@Milde, beachten Sie den folgenden Post http://www.mail-archive.com/[email protected]/msg02689.html, in dem dieser Fehlerbericht als ungültig und geschlossen markiert wurde (dies wird also nicht als Fehler angesehen) in neueren Grep). – Kamal