AWK può farlo con intervalli di pattern, che consentono l'uso di qualsiasi espressione regolare:
echoer | awk '/pattern/,0'
stamperà echoer
l'output a partire dalla corrispondenza della prima riga pattern
.
AWK è basato su pattern e viene generalmente utilizzato con un approccio "se questo pattern corrisponde, esegui questo". "Questo modello" può essere un intervallo di modelli, definito come "quando questo modello corrisponde, iniziare a farlo, fino a quando questo altro modello corrisponde"; questo viene specificato scrivendo due motivi separati da una virgola, come sopra. I pattern possono essere corrispondenze di testo, come in /pattern/
, in cui la riga corrente viene confrontata con il pattern, interpretata come un'espressione regolare; possono anche essere espressioni generali, valutate per ogni riga e considerate corrispondenti se il loro risultato è diverso da zero o non vuoto.
In AWK, l'azione predefinita è stampare la riga corrente.
Mettendo tutto questo insieme, awk '/pattern/,0'
cerca le linee corrispondenti pattern
e, una volta trovata, applica l'azione predefinita a tutte le linee fino a quando la 0
condizione corrisponde (è diversa da zero). awk '/pattern/,""'
funzionerebbe anche.
Il manuale di Gawk è molto più dettagliato.