[shell] affectation de variable
Résolu
tlep
Messages postés
596
Date d'inscription
Statut
Membre
Dernière intervention
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
j'ai un fichier comme suit :
A,toto
B,tata
Z,titi
Je voudrais le parser de manière à affecter des variables SHELL comme suit:
A="toto"
B="tata"
Z="titi"
Le souci, c'est qu'en parsant le fichier, je peux récupérer des valeurs genre "A", "toto", etc... Or moi je voudrais affecter à une variable "A" la valeur "toto", "B" la valeur "tata", etc...
J'ignore si c'est possible ?
Merci :-)
j'ai un fichier comme suit :
A,toto
B,tata
Z,titi
Je voudrais le parser de manière à affecter des variables SHELL comme suit:
A="toto"
B="tata"
Z="titi"
Le souci, c'est qu'en parsant le fichier, je peux récupérer des valeurs genre "A", "toto", etc... Or moi je voudrais affecter à une variable "A" la valeur "toto", "B" la valeur "tata", etc...
J'ignore si c'est possible ?
Merci :-)
A voir également:
- [shell] affectation de variable
- Classic shell - Télécharger - Personnalisation
- Classic shell c'est quoi ✓ - Forum Windows 10
- Shell addition ✓ - Forum Shell
- Variable d'environnement temp - Forum Word
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
5 réponses
Si tes données sont bien ligne à ligne
un simple remplacement de ta virgule par = devrait suffire.
sed 's/,/=/g' ton_fichier
un simple remplacement de ta virgule par = devrait suffire.
sed 's/,/=/g' ton_fichier
Oui, mais çà ne va pas affecter à la variable shell "A" la valeur "toto", çà va afficher le résultat :-()
En fait j'ai trouvé:
while read ligne;do
eval $(echo $ligne|cut -d"," -f1)=$(echo $ligne|cut -d"," -f2)
done < mon_fichier
while read ligne;do
eval $(echo $ligne|cut -d"," -f1)=$(echo $ligne|cut -d"," -f2)
done < mon_fichier
désolé je pensais que tu voulais les changer dans ton script.
puis réexecuter le script modifier et là...
tes variables seraient alimentées, un peu bourrin comme solution :p
puis réexecuter le script modifier et là...
tes variables seraient alimentées, un peu bourrin comme solution :p
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question