ढंग से काम मुझे लगता है मैं कैसे अपने काम प्रसंस्करण क्वेरी डेटा में इस का उपयोग का एक उदाहरण प्रदान करेंगे। मान लीजिए आप एक उद्धरण उत्पाद श्रेणी और ग्राहक आईडी से लेन-देन का पूरा फ़ाइल है:
customer_id category sales
1111 parts 100.01
1212 parts 5.20
2211 screws 1.33
...etc...
यह एक खरीद के साथ कुल अलग ग्राहकों गिनती करने के लिए awk का उपयोग करने के लिए आसान:
awk 'NR>1 {a[$1]++} END {for (i in a) total++; print "customers: " total}' \
datafile.txt
हालांकि, की संख्या परिकलित प्रत्येक श्रेणी में एक खरीद के साथ अलग ग्राहकों को एक दो आयामी सरणी पता चलता है:
awk 'NR>1 {a[$2,$1]++}
END {for (i in a) {split(i,arr,SUBSEP); custs[arr[1]]++}
for (k in custs) printf "category: %s customers:%d\n", k, custs[k]}' \
datafile.txt
custs[arr[1]]++
कार्यों की वेतन वृद्धि क्योंकि प्रत्येक श्रेणी/custo mer_id जोड़ी अजीब द्वारा उपयोग किए जाने वाले सहयोगी सरणी के लिए एक सूचकांक के रूप में अद्वितीय है।
सच में, मैं gnu awk का उपयोग करता हूं जो तेज़ है और array[i][j]
कर सकता है क्योंकि डी विलियम्सन ने उल्लेख किया था। लेकिन मैं यह सुनिश्चित करना चाहता था कि मैं इसे मानक अजीब में कर सकता हूं।
'v4 के रूप में gawk' सरणियों का समर्थन करता है तत्वों नेस्ट सरणियों बहुआयामी सरणियों से, और अधिक लचीला यानी के रूप में,' (i arr2 में) के लिए (जे arr2 [i] में) प्रिंट arr2 [मैं] [जे] ', देखें [जेजोओ का जवाब] (http://stackoverflow.com/a/35891319/1290731) – jthill