FILENAME ~ "liste.txt" { gsub("[.:-_/ ]", "", $6); # Herstellernummer, entfernen von Sonder- u. Leerzeichen $6 ...Erhalte da die Fehlerausgabe:
Fatal: Ungültiges Bereichsende: /[.:-_ ]/...
Kannst Du mir vielleicht sagen, warum das so ist?
Ja, kann ich. (allerdings hatte ich da bisher auch nicht dran gedacht)
Bei Regulären Ausdrücken kann man auch Bereiche angeben, z.B. "1-9" oder "a-z" und so dachte awk hier, Du wolltest den Bereich von ":" bis "_" haben. (und das geht nicht, weil "_" als Zeichen vor ":" kommt)
Bei mir war das Problem deshalb nicht aufgetreten, weil das "-" als erstes in der eckigen Klammer stand, und dann hat es diese Sonderbedeutung nicht. (genauso, wenn es als letztes Zeichen steht)
Also brauchst Du nur umzustellen:
gsub("[.:_/ -]", "", $6);
und alles ist wieder in Butter.
(schau Dir dazu auf http://www.uni-kassel.de/fb16/neuronale_netze/downloads/Unix_Tools/awk.html nochmal den Abschnitt 5. an)
LG,
track