(mein) awk kennt keine Zeichenklassen?!?

P

PPP01

Grünschnabel
Hi, ich hab hier ein Problem, welches ich nicht so recht verstehe.
Hab hier ein VmWare Ubuntu Etchy Server (Testsystem) laufen und ansich macht das Ding auch was es soll.
Aber ich hab das Problem, dass awk anscheind keine Zeichenklassen ([:alnum:], [:alpha:], ...) kennt.


Beispiel1:
Code:
echo Test | awk '/[[:alpha:]]+/ {print "Ein Wort";}'
Dieses Beispiel funktioniert auf allen Shells, aber nicht auf oben genanntem Server.

Beispiel 2 zeigt es noch deutlicher
Code:
#!/usr/bin/awk -f

BEGIN {
  String="LALALLA"
  if (String ~ /[A-Za-z]+/ )    print "A-Z funktioniert.";

  if (String ~ /[[:alpha:]]+/) print "Alpha funktioniert.";
  }
Als Ausgabe kommt dann
Code:
A-Z funktioniert.
Was fehlt dem Server? Ich dachte bisher, dass reguläre Ausdrücke (und somit auch die Zeichenklassen) Urbestandteil von awk seien. Verstehe ich irgend etwas grundlegend falsch? Da es auf anderen Servern problemlos läuft, ist es wohl irgend ein Konfig-Fehler. Aber wo soll/kann ich danach suchen?

Schöne Grüße
PPP01
 
Hallo
Ich kenn mich nicht aus mit 'awk', aber vergleich mal die Versionen.
So weit ich weiss ist unter Ubuntu 'awk' ein Link auf 'gawk'. Keine Ahnung ob das ein Unterschied macht, kenn 'awk' zuwenig...
Gruss
d22
 
Hmm, mein awk spuckt folgendes aus:
Code:
user1@ubuntu:/var/www# awk -W version
mawk 1.3.3 Nov 1996, Copyright (C) Michael D. Brennan

compiled limits:
max NF             32767
sprintf buffer      1020

Wirklich weiter hilft mir das leider auch nicht.
 
Verwende einfach 'gawk' statt 'mawk' dann sollts gehn:
Code:
adminjfu@hsg09017-d:~$ echo Test | [B]gawk[/B] '/[[:alpha:]]+/ {print "Ein Wort";}'
Ein Wort
adminjfu@hsg09017-d:~$ echo Test | [B]mawk[/B] '/[[:alpha:]]+/ {print "Ein Wort";}'
adminjfu@hsg09017-d:~$
Gruss
d22
 

Ähnliche Themen

NagiosGrapher 1.7.1 funktioniert nicht

Last mit etc/passwd anzeigen lassen

Probleme mit awk...

Squid nur zum maskieren der eigenen IP, nicht für Webserver auf port 80

Jaunty + Zend + Gdata + xampp

Zurück
Oben