[Shell] Recherché valeur dans fichier => variable

Résolu
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

4 réponses

  1. 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
    1. Salut,

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


      Et dans
      var1
      je récupère :
      Valeur3


      Merci
      1. Contributeur
        hello
        retrouver dans le shell une liste comme ça ?
        Label1="Valeur1"
        Label2="Valeur2"
        ...