क्या होगा क्या जब $1
, $2
का उपयोग कर ... END
ब्लॉक में, जैसे:क्या एडब्ल्यूके में ईएनडी ब्लॉक में परिभाषित फ़ील्ड हैं?
awk '{print $3}END{print $1 $2}'
मैंने पाया कि $1
और $2
पिछले रिकॉर्ड से मूल्यों को बरकरार रहती है। क्या यह व्यवहार मानक द्वारा गारंटीकृत है या यह कार्यान्वयन-विशिष्ट है?
मुझे लगता है कि यह कार्यान्वयन-विशिष्ट है। मैंने [spec] (http://pubs.opengroup.org/onlinepubs/9699919799/utilities/awk.html) में कुछ भी नहीं देखा है जो सीधे बताता है कि फ़ील्ड चर * 'END' ब्लॉक में साफ़ नहीं किया गया है । – chepner
मुझे विशेष रूप से उन क्षेत्रों के लिए कोई संदर्भ नहीं मिल रहा है, लेकिन उदाहरण के लिए 'एनआर' जैसे कई अन्य चर, को अंतिम रिकॉर्ड संसाधित करने के लिए निर्दिष्ट किया गया है, इसलिए यह क्षेत्र में विस्तार करने के लिए पागल नहीं होगा चर भी। –
यह कार्यान्वयन-विशिष्ट है। उदाहरण के लिए देखें कि एचपी-यूएक्स '$ 0' में खाली है। [एचपी-यूएक्स पर अजीब का अंत ब्लॉक व्यवहार] (http://stackoverflow.com/q/29970249/1983854) – fedorqui