Awk: Übungen: RegExp: LsgW30
Die Sprache ist nicht regulär, sondern nur kontextfrei!
test.awk:
#!/usr/bin/awk -f
/^[WF]*$/ {
if (zaehle($0,"F") % 2 == 0 && zaehle($0,"W") % 2 == 0) print $0
}
function zaehle(s, c) {
n = 0
if (substr(s, 1, 1) == c) n = 1
if (length(s) > 1) n = n + zaehle(substr(s,2),c)
return n
}
Ausführen:
echo "WFWFWW" |awk -f test.awk