Bash выполняет разбиение слов по строкам само по себе - на самом деле, чаще всего, избегая этой проблемы, а цитирование причины так важно. Это легко использовать в вашем случае: просто поместите вашу строку в массив без кавычек - bash будет использовать разбиение слов для разделения отдельных элементов. Предполагая, что ваша строка хранится в переменной $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