Theo hướng dẫn sử dụng awk, BEGIN và END không được sử dụng để khớp với đầu vào, mà là để cung cấp thông tin khởi động và dọn dẹp cho tập lệnh awk. Dưới đây là ví dụ được đưa ra:
ls -l | \
awk 'BEGIN { print "Files found:\n" } /\<[a|x].*\.conf$/ { print $9 }'
Files found:
amd.conf
antivir.conf
xcdroast.conf
xinetd.conf
Đầu tiên, nó in một chuỗi ra. Sau đó, nó kiểm tra đầu vào cho khớp mẫu, trong đó đầu vào bắt đầu bằng a hoặc x theo sau bởi bất kỳ ký tự nào một hoặc nhiều lần theo sau .conf. Đối với bất kỳ trận đấu, cột thứ 9 được in.
Thực tế là chúng tôi buộc phải sử dụng bắt đầu từ đây, điều đó có nghĩa là awk chỉ có thể sử dụng tối đa một chức năng in có chứa BEGIN hoặc END? Nếu không, tại sao chúng ta không thể sử dụng chức năng in lúc đầu mà không có từ khóa BEGIN? Có vẻ như BEGIN là thừa.