Awk modifier ligne dans section

Bonjour,

Je suis une newbies sur awk et j'essaie de trouver une commande pour modifier une ligne à l'intérieur d'une section

exemple
>SECTION1<
toto=5
titi=4
tata=3
.....

>SECTION2<
toto=4
titi=5
tata=8
....

J'aimerai change la valeur de tata qui se trouve à l'interieur de la section SECTION2 (la passer de 8 à 105) càd avoir :

>SECTION1<
toto=5
titi=4
tata=3
.....

>SECTION2<
toto=4
titi=5
tata=105
....
Configuration: Unix Aix

5 réponses

  1. Bonjour,

    Je pense que tu trouveras ton bonheur ici :

    http://ploug.eu.org/doc/principe-awk-lacroix.pdf
    0
    1. J'ai tjrs du mal à trouver, help ....
      0
      1. Modérateur
        Salut,

        Tu tiens absolument à faire ça avec "awk" ?

        Comment sont séparées les sections ? Par des lignes vides ?
        Le nombre de lignes des sections est-il constant ?
        0
        1. Contributeur
          hello
          une approche, je n'ai pas testé:
          awk 'BEGIN {flag=0} ; />SECTION2</ {flag=1} ; /tata=/ {if(flag){$0="tata=" val ; flag=0} } ; { print $0} ' val=105
          0
          1. Mille merci Dubcek, c'est génial ça marche super bien !!!
            0