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
    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 ?
      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