Bash melakukan pemisahan kata dalam string dengan sendirinya - pada kenyataannya, lebih sering daripada tidak, menghindari itu adalah masalah, dan alasan mengutip sangat penting. Sangat mudah untuk meningkatkan itu dalam kasus Anda: cukup masukkan string Anda ke dalam array tanpa mengutipnya - bash akan menggunakan pemisahan kata untuk memisahkan elemen individual. Dengan asumsi string Anda disimpan dalam variabel $str
,
ar=($str) # no quotes!
akan mengembalikan array 5 elemen. Indeks array Anda adalah indeks kata Anda (dihitung dari 0, seperti di sebagian besar bahasa scripting dan pemrograman), yaitu "Usia" diakses menggunakan
${ar[1]} # 0 => Name, 1 => Age, 2 => Sex, 3 => ID, 4 => Address
atau, jika Anda perlu menemukan indeks elemen berdasarkan konten, loop di atas array, yaitu
function el_index {
cnt=0; for el in "${ar[@]}"; do
[[ $el == "$1" ]] && echo $cnt && break
((++cnt))
done
}
el_index "Age" # => 1