J'ai une variable qui contient une chaîne délimitée par des espaces:
line="1 1.50 string"
Je veux diviser cette chaîne avec de l'espace comme délimiteur et stocker le résultat dans un tableau, de sorte que les éléments suivants:
echo ${arr[0]}
echo ${arr[1]}
echo ${arr[2]}
les sorties
1
1.50
string
Quelque part, j'ai trouvé une solution qui ne fonctionne pas:
arr=$(echo ${line})
Si j'exécute les instructions echo ci-dessus après cela, j'obtiens:
1 1.50 string
[empty line]
[empty line]
J'ai aussi essayé
IFS=" "
arr=$(echo ${line})
avec le même résultat. Quelqu'un peut-il m'aider, s'il vous plaît?
set -f; arr=($string); set +f
semble être plus rapide queread -r -a <<< $string
.