Tengo una variable que contiene una cadena delimitada por espacios:
line="1 1.50 string"
Quiero dividir esa cadena con espacio como delimitador y almacenar el resultado en una matriz, de modo que lo siguiente:
echo ${arr[0]}
echo ${arr[1]}
echo ${arr[2]}
salidas
1
1.50
string
En algún lugar encontré una solución que no funciona:
arr=$(echo ${line})
Si ejecuto las declaraciones de eco anteriores después de esto, obtengo:
1 1.50 string
[empty line]
[empty line]
También intenté
IFS=" "
arr=$(echo ${line})
con el mismo resultado ¿Puede alguien ayudar, por favor?
set -f; arr=($string); set +f
Parece ser más rápido queread -r -a <<< $string
.