<Poprzedni | Spis treści | Następne>
kotwice
Karetka (^) i znak dolara ($) znaki są traktowane jako Kotwy w wyrażeniach regularnych. Oznacza to, że powodują dopasowanie tylko wtedy, gdy na początku linii zostanie znalezione wyrażenie regularne (^) lub na końcu linii ($):
[ja@linuxbox ~]$ grep -h '^zip' lista katalogów*.txt
zip zipcloak zipgrep zipinfo zipnote zipsplit
[ja@linuxbox ~]$ grep -h 'zip$' lista katalogów*.txt
gunzip gzip funzip gpg-zip preunzip prezip rozpakuj zip
[ja@linuxbox ~]$ grep -h '^zip$' lista katalogów*.txt
zamek błyskawiczny
[ja@linuxbox ~]$ grep -h '^zip' lista katalogów*.txt
zip zipcloak zipgrep zipinfo zipnote zipsplit
[ja@linuxbox ~]$ grep -h 'zip$' lista katalogów*.txt
gunzip gzip funzip gpg-zip preunzip prezip rozpakuj zip
[ja@linuxbox ~]$ grep -h '^zip$' lista katalogów*.txt
zamek błyskawiczny
Tutaj przeszukaliśmy listę plików pod kątem ciągu „zip” znajdującego się na początku linii, na końcu linii oraz w linii, w której znajduje się zarówno na początku, jak i na końcu linii (tj. linia). Należy pamiętać, że wyrażenie regularne „^$” (początek i koniec bez niczego pomiędzy) będzie pasować do pustych linii.
Pomocnik do krzyżówek
Nawet przy naszej ograniczonej wiedzy na temat wyrażeń regularnych w tym momencie możemy zrobić coś pożytecznego.
Moja żona uwielbia krzyżówki i czasami prosi mnie o pomoc w rozwiązaniu konkretnego pytania. Coś w stylu: „Co to za pięcioliterowe słowo, którego trzecia litera to „j” i ostatnia litera to „r”, co oznacza...?” Tego rodzaju pytanie dało mi do myślenia.
Czy wiesz, że Twój system Linux zawiera słownik? To robi. Zajrzyj w /usr/share/dykt katalog i możesz znaleźć jeden lub kilka. Znajdujące się tam pliki słownika to po prostu długie listy słów, po jednym w wierszu, ułożone w kolejności alfabetycznej. W moim systemie tzw słowa plik zawiera nieco ponad 98,500 XNUMX
słowa. Aby znaleźć możliwe odpowiedzi na powyższą krzyżówkę, możemy to zrobić:
[ja@linuxbox ~]$ grep -i '^..jr$' /usr/share/dict/words
Major major
Używając tego wyrażenia regularnego, możemy znaleźć w naszym pliku słownika wszystkie słowa, które mają pięć liter i mają „j” na trzeciej pozycji i „r” na ostatniej pozycji.