[Shell] Recherché valeur dans fichier => variable

Résolu/Fermé
Raph04 Messages postés 158 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 17 mai 2022 - Modifié le 16 mai 2022 à 18:22
dubcek Messages postés 18728 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 29 mai 2024 - 17 mai 2022 à 16:53
Bonjour,

Je ne connais pas bien le shell, et je dois modifier un script.
J'aimerai pouvoir recupérer dans une variable dans un fichier.
Le fichier ressemble à ça :
{
"Label1": "Valeur1",
"Label2": "Valeur2",
"Label3": "Valeur3",
[...]
"LabelX": "ValeurX"
}


Je souhaiterai pouvoir récupérer une valeur en donnant un le label.

Pourriez-vous m'aider ?

Configuration: Linux RedHat
A voir également:

4 réponses

dubcek Messages postés 18728 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 29 mai 2024 5 615
17 mai 2022 à 10:06
hello
retrouver dans le shell une liste comme ça ?
Label1="Valeur1"
Label2="Valeur2"
...
0
Raph04 Messages postés 158 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 17 mai 2022 24
17 mai 2022 à 10:24
Salut,

Ca serait plutôt faire un truc du genre :
var1 = laFonction monFichier.json "Label3"


Et dans
var1
je récupère :
Valeur3


Merci
0
Raph04 Messages postés 158 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 17 mai 2022 24
17 mai 2022 à 11:40
Je me réponds à moi même, mais ça pourra peut être aider certaines personnes.
J'ai trouvé la fonction
awk
qui est hyper puissante, mais un peu compliquée.
Après avoir lu quelques article, j'ai réussi à faire exactement ce que je voulais :
awk '{ if ($1=="\"Label3\":") { gsub(/"/, "", $2); gsub(/,/, "", $2) ; print $2 }}' monFichier


Pour m'aider j'ai utilisé ces articles :
https://www.shellunix.com/awk.html
https://sites.google.com/site/diezone/awk-1/awk---exemple-pour-la-substitution-sub-gsub
0
dubcek Messages postés 18728 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 29 mai 2024 5 615
17 mai 2022 à 16:53
je ne comprends pas
0