Bash realiza divisão de palavras em strings por si só - na verdade, na maioria das vezes, evitar isso é um problema, e a razão citando é tão importante. É fácil aproveitar isso no seu caso: basta colocar sua string em uma matriz sem citá-la - o bash usará a divisão de palavras para separar os elementos individuais. Supondo que sua string esteja armazenada na variável $str
,
ar=($str) # no quotes!
retornará uma matriz de 5 elementos. Seu índice de matriz é o seu índice de palavras (contando a partir de 0, como na maioria das linguagens de script e programação), ou seja, "Age" é acessado usando
${ar[1]} # 0 => Name, 1 => Age, 2 => Sex, 3 => ID, 4 => Address
ou, se você precisar encontrar o índice do elemento por conteúdo, faça um loop sobre a matriz, por exemplo,
function el_index {
cnt=0; for el in "${ar[@]}"; do
[[ $el == "$1" ]] && echo $cnt && break
((++cnt))
done
}
el_index "Age" # => 1