Hallo, Am Tue, 18 Oct 2005, Bernhard Wehmann schrieb: >Am Dienstag 18 Oktober 2005 12:49 schrieb Joerg Sommer: >> Sascha Hüdepohl <[EMAIL PROTECTED]> wrote: >> >> > Es besteht eine ascii-Datei mit folgendem Format: >> >> > >> >> > ... >> >> > irgend ein text1 text1 text1 #421 >> >> > irgend ein text2 text2 text2 #422 >> >> > irgend ein text# text& text- #423 >> > >> > awk 'sub(/#.+/, NR)' < ascii-Datei >> >> Das funktioniert aber nicht in der dritten Zeile und sollte >> nicht auch das #vor der Zeilennummer stehen bleiben?
Da fehlt nur der "Anker": awk 'sub("#[^#]*$","#"NR);' ^^^^^^ >Ja und es kann ja auch Zeilen geben, die noch kein #XXX am Ende >haben. Dann wird es aber ein bisschen länger: > >awk '{ a=match($0,"#[0-9 ]*$"); if(a) print substr($0,1,a-1), > "#"NR; else print $0, "#"NR; }' Geht einfacher (hier z.B. mit tab + # vor der Zeilennummer): awk 'sub("#[^0-9]*$","#"NR) || sub("$","\t#"NR);' -dnh -- An application/evil MIME type is defined for Web- or email-carried mischief. Other MIME types can be embedded inside of evil sections; this permit easy encoding of word processing documents with macro viruses, etc. -- RfC 3514 -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)