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