Bash realiza la división de palabras en cadenas por sí mismo; de hecho, la mayoría de las veces, evitando que sea un problema, y la razón por la cual la cita es tan importante. Es fácil aprovechar eso en su caso: simplemente coloque su cadena en una matriz sin citarla; bash usará la división de palabras para separar los elementos individuales. Suponiendo que su cadena se almacena en la variable $str
,
ar=($str) # no quotes!
devolverá una matriz de 5 elementos. Su índice de matriz es su índice de palabras (contando desde 0, como en la mayoría de los lenguajes de programación y scripts), es decir, se accede a "Edad" usando
${ar[1]} # 0 => Name, 1 => Age, 2 => Sex, 3 => ID, 4 => Address
o, si necesita encontrar el índice del elemento por contenido, repita la matriz, es decir
function el_index {
cnt=0; for el in "${ar[@]}"; do
[[ $el == "$1" ]] && echo $cnt && break
((++cnt))
done
}
el_index "Age" # => 1