Відповідно до посібника awk, BEGIN і END не використовуються для відповідності вводу, а для надання інформації про запуск та очищення сценарію awk. Ось наведений приклад:
ls -l | \
awk 'BEGIN { print "Files found:\n" } /\<[a|x].*\.conf$/ { print $9 }'
Files found:
amd.conf
antivir.conf
xcdroast.conf
xinetd.conf
Спочатку це друкує рядок для виведення. Потім він перевіряє введення на відповідність шаблону, де вхід починається з a або x, а потім будь-який символ, один або багато разів, після якого .conf. Для будь-яких матчів друкується 9-й стовпчик.
Те, що ми змушені використовувати тут, починається тут, чи це означає, що awk може використовувати лише максимум одну функцію друку, яка містить BEGIN або END? Якщо ні, то чому ми не можемо просто використати функцію друку на початку без ключового слова ПОЧАТИ? Здається, ПОЧАТО зайве.