AWK może to zrobić z zakresami wzorców, co pozwala na użycie dowolnego wyrażenia regularnego:
echoer | awk '/pattern/,0'
wypisze echoer
wyjście, zaczynając od dopasowania pierwszego wiersza pattern
.
AWK jest oparte na wzorcach i jest zwykle używane z podejściem typu „jeśli ten wzór pasuje, zrób to”. „Ten wzór” może być zakresem wzorów, zdefiniowanym jako „kiedy ten wzór pasuje, zacznij to robić, aż ten inny wzór się dopasuje”; jest to określone przez napisanie dwóch wzorów oddzielonych przecinkiem, jak powyżej. Wzory mogą być dopasowanymi tekstami, tak jak w /pattern/
przypadku, gdy bieżący wiersz jest sprawdzany względem wzorca, interpretowany jako wyrażenie regularne; mogą być również wyrażeniami ogólnymi, ocenianymi dla każdego wiersza i uznanymi za zgodne, jeśli ich wynik jest niezerowy lub niepusty.
W AWK domyślną akcją jest wydrukowanie bieżącej linii.
Łącząc to wszystko, awk '/pattern/,0'
szuka linii pasujących pattern
, a gdy je znajdzie, stosuje domyślną akcję do wszystkich linii, dopóki 0
warunek się nie zgadza (jest różny od zera). awk '/pattern/,""'
też by działał.
Podręcznik Gawk jest o wiele bardziej szczegółowy.