Zgodnie z instrukcją awk BEGIN i END nie są używane do dopasowania danych wejściowych, ale raczej do dostarczania informacji o uruchamianiu i czyszczeniu do skryptu awk. Oto podany przykład:
ls -l | \
awk 'BEGIN { print "Files found:\n" } /\<[a|x].*\.conf$/ { print $9 }'
Files found:
amd.conf
antivir.conf
xcdroast.conf
xinetd.conf
Najpierw wypisuje ciąg do wyjścia. Następnie sprawdza dane wejściowe pod kątem dopasowania wzorca, gdzie dane wejściowe zaczynają się od a lub x, po którym następuje jeden lub wiele znaków, po których następuje .conf. Dla dowolnych dopasowań drukowana jest 9. kolumna.
Czy to oznacza, że awk może używać tylko jednej funkcji drukowania, która zawiera BEGIN lub END? Jeśli nie, to dlaczego nie możemy po prostu użyć funkcji drukowania na początku bez słowa kluczowego BEGIN? Wygląda na to, że BEGIN jest zbędny.