Bonjour,
j'essaie de me faire un script pour extraire d'un fichier les appels de fonction. J'ai pensé que la définition d'un appel de fonction serait : "blabla(" .A partir de là, j'ai essayé
grep -E "[^(!= ]+[(]" test.c | sed -r "s/.* ([^(!= ]+)[(](.*)/\1/g"
et
grep -E "[(]?[a-zA-Z_]*+[(]" test.c | sed -r "s/.* ([(]?[a-zA-Z_]*+)[(](.*)/\1/g"
mais je n'obtient pas de résultat satisfaisant, surtout que le fichier n'est pas normalisé (espaces irréguliers autour des affectations par exemple, on a tout de même pas d'espace entre la fonction et la "(" ). J'obtiens bien les appels de fonction mais avec les arguments... et je voudrai aussi virer les parenthèses. Les deux donnent le même résultat, pas mal, mais je n'arrive pas non plus à virer les '=' comme dans i=fonction() comment dire "une chaîne qui contient des lettres et _ mais pas de ="?
Merci pour les pistes que vous me donnerez!
Nifnef
Message édité par nifnef le 20-06-2005 à 13:19:11