Je travaille sur un long script Bash. Je veux lire des cellules d'un fichier CSV dans des variables Bash. Je peux analyser les lignes et la première colonne, mais pas les autres colonnes. Voici mon code jusqu'à présent :
cat myfile.csv | while read line
do
read -d, col1 col2 < <(echo $line)
echo "J'ai obtenu : $col1 | $col2"
done
Il ne imprime que la première colonne. Pour un test supplémentaire, j'ai essayé ce qui suit :
read -d, x y < <(echo a,b,)
Et $y est vide. J'ai donc essayé :
read x y < <(echo a b)
Et $y est b
. Pourquoi ?
7 votes
Avez-vous envisagé d'utiliser
awk
pour utiliser$1
,$2
, etc?4 votes
En tant que note de côté: commande < <(echo "string") ---> commande <<< "string"
1 votes
Le programme en ligne de commande 'cut' a été conçu à cet effet : ss64.com/bash/cut.html
0 votes
Possible duplicate de stackoverflow.com/questions/36287982/…
0 votes
Vous voulez vous débarrasser de l'utilisation inutile de
cat