polecenie grep i znak zastąpienia

0

Szkolę się z poprawnego używania poleceń linuksowych. Nie rozumiem czemu grep zwraca mi to co niżej:

user@user-VirtualBox:~$ grep 'w*a' /etc/passwd
root:x:0:0:root:/root:/bin/bash

daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin

games:x:5:60:games:/usr/games:/usr/sbin/nologin

man:x:6:12:man:/var/cache/man:/usr/sbin/nologin

lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin

mail:x:8:8:mail:/var/mail:/usr/sbin/nologin

news:x:9:9:news:/var/spool/news:/usr/sbin/nologin

uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin

www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin

backup:x:34:34:backup:/var/backups:/usr/sbin/nologin

Zgodnie z teorią to powinien zwrócić wszystkie wiersze z pliku /etc/passwd ktore zawierają słowo zaczynające się na 'w' a kończące na 'a', prawda? No a tak nie jest. Pojedyncze apostrofy są użyte więc zabezpieczyłem się przed ingerencją ze strony powłoki. Ktoś potrafi wytłumaczyć skąd taki output? Oraz jak zmodyfikować polecenie aby wyszukał mi to co sądziłem że juz przedstawiona komenda powinna wyszukać.

3

* matchuje 0 lub więcej elementów poprzedniego znaku. Użyj . aby zmatchować cokolwiek pomiędzy w i a tj. grep 'w.*a' /etc/passwd

3

Grep używa wyrażeń regularnych, a nie globów/wildcardów.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.