বাশ স্ট্রিংগুলিতে শব্দগুলি পৃথক করে নিজেই সম্পাদন করে - বাস্তবে, প্রায়শই না হওয়া থেকে, এড়ানো এড়ানো একটি সমস্যা এবং কারণটি উদ্ধৃত করা এত গুরুত্বপূর্ণ। আপনার ক্ষেত্রে এটি লাভ করা সহজ: আপনার স্ট্রিংটিকে উদ্ধৃতি না দিয়ে কেবল একটি অ্যারেতে রাখুন - বাশ পৃথক উপাদানগুলিকে পৃথক করতে শব্দ বিভাজন ব্যবহার করবে। আপনার স্ট্রিংটি ভেরিয়েবলে সঞ্চিত রয়েছে তা ধরে নিচ্ছি $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