बैश अपने आप में सभी में बंटवारे शब्द का प्रदर्शन करता है - वास्तव में, अधिक बार नहीं, इससे बचना एक मुद्दा है, और उद्धृत करने का कारण इतना महत्वपूर्ण है। आपके मामले में इसका लाभ उठाना आसान है: बस अपने स्ट्रिंग को एक उद्धरण के बिना एक सरणी में डालें - बैश अलग-अलग तत्वों को अलग करने के लिए शब्द विभाजन का उपयोग करेगा। मान लें कि आपकी स्ट्रिंग चर में संग्रहीत है $str
,
ar=($str) # no quotes!
5 तत्वों की एक सरणी लौटाएगा। आपका ऐरे इंडेक्स आपका वर्ड इंडेक्स है (0 से गिनती, जैसे अधिकांश स्क्रिप्टिंग और प्रोग्रामिंग भाषाओं में), अर्थात "आयु" का उपयोग किया जाता है
${ar[1]} # 0 => Name, 1 => Age, 2 => Sex, 3 => ID, 4 => Address
या, यदि आपको सामग्री द्वारा तत्व सूचकांक खोजने की आवश्यकता है, तो सरणी पर लूप, अर्थात
function el_index {
cnt=0; for el in "${ar[@]}"; do
[[ $el == "$1" ]] && echo $cnt && break
((++cnt))
done
}
el_index "Age" # => 1