#1 Le 05/09/2021, à 16:17
- lebossejames
[résolu] bash creation d'un array avec une key et value
Bonjour,
Je souhaiterais créér un array[key]=value mais je n'arrive pas, la key est une valeur dynamique de même pour la valeur.
declare -a MyArray
for (( indice=0; indice<5; indice++ ));
do
name="monchateau$indice"
key="key$indice"
MyArray[key]=name
done
Merci d'avance.
Dernière modification par lebossejames (Le 06/09/2021, à 17:05)
Hors ligne
#2 Le 05/09/2021, à 17:28
- pingouinux
Re : [résolu] bash creation d'un array avec une key et value
Bonjour,
declare -A MyArray
.....
MyArray[$key]=$name
.....
Hors ligne
#3 Le 05/09/2021, à 17:29
- erresse
Re : [résolu] bash creation d'un array avec une key et value
Salut.
Tu as essayé avec
MyArray[$key]=$name
($key et $name pour citer les variables key et name)
Edit: Zut, encore grillé !
Dernière modification par erresse (Le 05/09/2021, à 17:30)
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#4 Le 05/09/2021, à 18:00
- Watael
Re : [résolu] bash creation d'un array avec une key et value
je pressent une usine à gaz.
pourquoi indiquer un "mot-clé" dans les indices du tableau ?
pourquoi indiquer l'indice "des deux côtés" ?
il faudrait nous donner une vision plus globale de ce que veux faire avec ce tableau.
Dernière modification par Watael (Le 05/09/2021, à 18:01)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#5 Le 06/09/2021, à 07:01
- lebossejames
Re : [résolu] bash creation d'un array avec une key et value
Salut.
Tu as essayé avecMyArray[$key]=$name
($key et $name pour citer les variables key et name)
Edit: Zut, encore grillé !
ça ne marche pas, j'ai toujours qu'un seul élément dans mon Arrray
Hors ligne
#6 Le 06/09/2021, à 07:11
- lebossejames
Re : [résolu] bash creation d'un array avec une key et value
je pressent une usine à gaz.
pourquoi indiquer un "mot-clé" dans les indices du tableau ?
pourquoi indiquer l'indice "des deux côtés" ?il faudrait nous donner une vision plus globale de ce que veux faire avec ce tableau.
Je ne comprends pas la question d'indices des deux côtés.
La vision globale est celle-là: Je parse un fichier json sous la forme :
{"journee":[ "lundi","mardi","mercredi","jeudi"],"lieux":[{"name":"Brest","activate":true,"number":0},{"name":"Caen","activate":true,"number":0},{"name":"Saint-Malo","activate":true,"number":0}
Cette chaine se trouve à la position 1
declare -a MyArray
number=$(echo $json_value_users | jq '.[1].lieux | length')
echo "$number"
for (( indice_lieux=0; indice_lieux<$number; indice_lieux++ ));
do
name=$(echo "$(echo $json_value_users | jq '.[1].lieux['${indice_lieux}'].name')" | tr -d '"')
activate=$(echo "$(echo $json_value_users | jq '.[1].lieux['${indice_lieux}'].activate')" | tr -d '"')
MyArray[$name]=$activate
done
Hors ligne
#7 Le 06/09/2021, à 07:35
- Watael
Re : [résolu] bash creation d'un array avec une key et value
Je ne comprends pas la question d'indices des deux côtés.
c'est ta manière d'exposer ton raisonnement qui m'a fait dire ça comme ça.
en voyant ton code, c'est plus clair : il faut un tableau associatif, déclaré avec -A.
par contre,
1- as-tu testé ta commande jq ?
2- le JSON doit pouvoir être traité complètement avec jq, sans shell.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#8 Le 06/09/2021, à 08:02
- lebossejames
Re : [résolu] bash creation d'un array avec une key et value
Je ne comprends pas la question d'indices des deux côtés.
c'est ta manière d'exposer ton raisonnement qui m'a fait dire ça comme ça.
en voyant ton code, c'est plus clair : il faut un tableau associatif, déclaré avec -A.par contre,
1- as-tu testé ta commande jq ?
2- le JSON doit pouvoir être traité complètement avec jq, sans shell.
J'ai des traitements à faire dans mon script shell d'où la sauvegarde dans un array.
Hors ligne
#9 Le 06/09/2021, à 11:19
- Watael
Re : [résolu] bash creation d'un array avec une key et value
jq devrait pouvoir les faire.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#10 Le 06/09/2021, à 17:04
- lebossejames
Re : [résolu] bash creation d'un array avec une key et value
Finalement j'ai réussi.
Il fallait déclarer l'array avec un -A et non -a.
Merci.
Dernière modification par lebossejames (Le 06/09/2021, à 17:05)
Hors ligne
#11 Le 06/09/2021, à 17:18
- Hizoka
Re : [résolu] bash creation d'un array avec une key et value
Il fallait déclarer l'array avec un -A et non -a.
Bonjour,
declare -A MyArray ..... MyArray[$key]=$name .....
en voyant ton code, c'est plus clair : il faut un tableau associatif, déclaré avec -A.
...
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne