BEGIN a END

BEGIN a END jsou speciálními případy vzorků. Vzorek BEGIN specifikuje akci, která se má provést dříve, než se přečte první záznam vstupu. Naopak vzorek END popisuje akci, která se provede po zpracování posledního čteného záznamu. Tímto způsobem můžeme řídit zpracování před a po čtení záznamů.

Jako příklad uveďme nastavení specifického oddělovače položek a vytisknutí počtu načtených záznamů:

BEGIN { FS = ":" }
...zbytek programu...
END { print NR }
BEGIN musí být jako první vzorek (je-li uveden), END musí být posledním vzorkem.