वाक्य रचना
delete array
POSIX में वर्तमान संस्करणों में नहीं है, लेकिन यह लगभग सभी मौजूदा कार्यान्वयन (मूल awk, GNU, mawk, और बिजीबॉक्स सहित) द्वारा समर्थित है। इसे POSIX के भविष्य के संस्करण में जोड़ा जाएगा (देखें दोष 0000544 )।
सभी सरणी तत्वों को साफ़ करने का एक वैकल्पिक तरीका, जो पोर्टेबल और मानक-अनुरूप दोनों है, और जो एक बयान के बजाय एक अभिव्यक्ति है, split
सभी मौजूदा तत्वों को हटाने पर भरोसा करना है:
split("", array, ":")
इन सभी सहित delete array
, GNU awk और mawk (लेकिन बिजीबॉक्स awk में नहीं) में, मूल awk में एक सरणी चर के रूप में चिह्नित चर को छोड़ दें। जहाँ तक मुझे पता है, एक बार एक चर को एक सरणी के रूप में उपयोग किया जाता है, तो इसे स्केलर चर के रूप में उपयोग करने का कोई तरीका नहीं है।
delete array
एक सिंटैक्स त्रुटि को कॉल करता है, हालांकि मैन पेज कहता है कि सबस्क्रिप्ट वैकल्पिक है।$ awk 'BEGIN { A[1] = 0; delete A; }' awk: Syntax error at line 1 of program << BEGIN { A[1] = 0; de ... >> context is BEGIN { A[1] = 0; delete >>> A; <<< awk: illegal statement at line 1 of program << BEGIN { A[1] = 0; de ... >>
यह जानकर और अधिक आश्चर्य हुआ किdelete array[subscript]
, जबकि त्रुटि के रूप में नहीं दिखाया गया था, यह भी काम नहीं किया था, और कई वेरिएंटarray[subscript] = ""
सभी समान रूप से अप्रभावी थे।