sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #97303
Re: Regexp (SOLVED)
Hej
Svaret viste sig at være awk.
$ awk '{
x=substr($0,1,27)
y=substr($0,28,43)
gsub(/[0-9]/,"0",y)
z=substr($0,44)
print x y z
}' recharge_card.txt > recharge_card0.txt
Det er ikke hurtigt, men det er også kun en engangs kørsel.
Mvh
Asbjørn Grandt
Jon Bendtsen wrote:
> On 14/01/2009, at 13.09, Asbjorn Grandt wrote:
>
>> Hej
>>
>> Jeg har et (forhåbentligt) hurtige spørgsmål.
>>
>> Jeg har en meget lang tekst fil, med ca 14 millioner linjer. Hvis jeg
>> vil erstatte alle tegn fra text kolonne 28 til 43 i hver linje med
>> f.eks. 0 (af sikkerheds grunde), hvad kan jeg bruge for at gøre det ?
>> SED lyder fornuftig, men den kender jeg desværre ikke ret meget til.
>>
>> Regexpen er jo simpel nok "s/\d/0/", men hvordan får jeg sed til kun at
>> ændre de før nævnte kolonner?
>
> Tja, den hjernedøde metode er vel
>
> sed -e "s/^\(............................\)...............\(.*\)$/\10\2/"
>
> Eller med andre ord. Først 28 single tegn som gives nummer 1,
> så 28-43 tegn som ikke har et nummer som fjernes, og så bagefter
> resten af linien som gives nummer 2.
>
>
> JonB
>
>
>
Follow ups
References
-
Regexp
From: Asbjorn Grandt, 2009-01-14
-
Re: Regexp
From: Jon Bendtsen, 2009-01-14