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)

Antwort per Email an