Вы можете попробовать это:
BEGIN {
RS = "";
FS = "\n";
}
/[a-z]+\(\)/ {print "FUNCTION: " $1;}
!/[a-z]+\(\)/ {print "NOT FOUND: " $0;}
Если вы хотите убедиться, что после () ничего нет, вы можете сделать это:
$ 1 ~ / [az] + ()$ / {print "FUNCTION:" $ 1;}
Я не знаю, почему перевод строки не совпадает.Может быть, кто-нибудь объяснит это.