• [^] # Re: FNR

    Posté par (site web personnel) . En réponse au message Modifier un fichier avec Awk à partir de données extraites d'un autre fichier. Évalué à 2.

    Pas réellement ça va matcher avec le premier } qui est au tout début de ligne, cela veut dire que si l'indentation est bonne cela fonctionne bien.

    Si on veut vraiment s'amuser à aller à la fin de la fonction sans s'amuser avec l'indentation ça correspond à un truc plus compliqué :

    awk '
    /public maFonction/ {flag=1;x=0} 
    flag {
    x-=gsub("}","}");
    x+=gsub("{","{"); 
    if (x == 0) {print "nouveau code";print;flag=0;next}} 
    1' file
    
    

    y'a peut être un moyen plus élégant pour compter les { } mais je ne connais pas. Bon ça ne fonctionne pas si le premier { n'est pas sur la même ligne que la déclaration de la fonction.