Awk मैन्युअल के अनुसार, BEGIN और END का उपयोग इनपुट से मिलान करने के लिए नहीं किया जाता है, बल्कि जाग स्क्रिप्ट को स्टार्ट-अप और क्लीन-अप जानकारी प्रदान करने के लिए किया जाता है। यहाँ उदाहरण दिया गया है:
ls -l | \
awk 'BEGIN { print "Files found:\n" } /\<[a|x].*\.conf$/ { print $9 }'
Files found:
amd.conf
antivir.conf
xcdroast.conf
xinetd.conf
पहले यह एक स्ट्रिंग को आउटपुट में प्रिंट करता है। फिर यह एक पैटर्न मैच के लिए इनपुट की जांच करता है, जहां इनपुट किसी भी चरित्र के बाद या x के साथ शुरू होता है या कई बार .conf द्वारा पीछा किया जाता है। किसी भी मैच के लिए, 9 वां कॉलम छपा होता है।
तथ्य यह है कि हम यहां उपयोग करने के लिए मजबूर हैं, क्या इसका मतलब यह है कि awk केवल एक प्रिंट फ़ंक्शन पर उपयोग कर सकते हैं जिसमें एक BEGIN / END शामिल है? यदि नहीं, तो हम शुरुआत में बिना BEGIN कीवर्ड के प्रिंट फ़ंक्शन का उपयोग क्यों नहीं कर सकते हैं? ऐसा लगता है कि BEGIN बहुत ही शानदार है।