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

Antwort per Email an