Re: Zeilen numerieren
Hallo,
Am Tue, 18 Oct 2005, Bernhard Wehmann schrieb:
>Am Dienstag 18 Oktober 2005 12:49 schrieb Joerg Sommer:
>> Sascha Hüdepohl <renegat@fbe.hs-bremen.de> 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
Reply to: