# Demo zu lokalen/globalen Variablen # benutzerdefinierte Funktion, die den Inhalt der Variablen "str" an den # globalen Puffer "buffer" anhängt, wobei sie vorher alle Teilstrings löscht, # die aus mindestens 3 aufeinander folgenden Zeichen "x" sowie optional # folgenden Leerzeichen und Tabulatoren besteht function add_to_buffer(str, diff, temp) { # diff und temp sind hier lokal temp = str # alle Teilstrings "xxx" löschen gsub(/xxxx*[ \t]*/, "", temp) # String an den Puffer anhängen buffer = buffer temp # Längendifferenz zwischen Orginal und modifizierter Form errechnen diff = length(str) - length(temp) # die maximale Differenz aktualisieren if (diff > max_diff) { max_diff = diff } } # Zeilen, die "xxx" enthalten, an die Funktion add_to_buffer übergeben /xxx/ { add_to_buffer($0) } # Ausgabe des Puffers sowie der maximalen Längendifferenz END { print "max_diff:", max_diff print "Puffer:", buffer }