Hoi Marian,
du stellst blöde Aufgaben...
Ich hab das jetzt die letzten 2 Stunden getestet und auch mal mit einfacheren
Ausdrücken. Ich komme immer zum gleichen Fehlerbild, das \\1 funktioniert
entweder garnicht, oder (für mich) nicht nachvollziehbar:
$ echo "1b2 " | gawk '{print gensub(/(.+)[[:space:]]+/,"\\1","g")"__"}'
1b2 __
Ich hab auch mal diverse andere Möglichkeiten für den regex getestet und bin am
Ende auf folgendes gekommen, was auf jeden Fall (in anderen Sprachen) matched:
(.{1,6})[[:space:]]*$
Wenn ich mir deine Aufgabe so anschaue, dann wäre vielleicht folgendes für dich
ein Behelf:
$ echo -n " abs123456 " | gawk '{gsub(/[[:space:]]*/,"",$0); print
substr($0,length($0)-5,length($0))"__"}'
123456__
Allerdings kenne ich ja hier die genauen Strings nicht, und vor allem weiß ich
nicht, ob da eventuell davor noch irgendwo Leerzeichen kommen.
Dazu muss ich sagen, das ich in awk nicht so fit bin, wie es vielleicht nötig
wäre. Daher bin ich gespannt, ob andere noch ne Lösung (oder zumindest ne
Erklärung) finden.
Und im Zweifelsfall: Lern endlich mal ne richtige Programmiersprache :p
Grüße,
Danilo
_______________________________________________
Lug-dd maillist - [email protected]
https://ssl.schlittermann.de/mailman/listinfo/lug-dd