Mam plik tekstowy zawierający coś takiego:grep regex spacje zachowanie
12,34 EUR
5,67 EUR
...
Jest jedna spacja przed 'EUR' i ignorować 0, xx EUR.
Próbowałem:
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 !
Czy ktoś mógłby wyjaśnić mi pls, dlaczego nie mogę używać \s
ale \s*
i \s[E]
dopasowane?
OS: Ubuntu 10.04, grep v2.5
Lub po prostu '[: space:]', np. w ten sposób: 'plik cat | grep "[[: space:]]" ' –
wydaje się być błędem w nowszej wersji grep (inny punkt widzenia) zgodnie z tym zgłoszeniem błędu http://www.mail-archive.com/bug-grep @ gnu.org/msg02686.html, ale dlaczego ostatnie zdanie pasuje? – Milde
@Milde, zanotuj następującą wiadomość http://www.mail-archive.com/[email protected]/msg02689.html gdzie ten raport o błędzie został oznaczony jako niepoprawny i zamknięty (więc nie jest to uważane za błąd w nowszym grep). – Kamal