sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #97713
RE: Søg og addere - regex?
Perl to the rescue...
Ud fra dit udkast er det ikke helt til at se om du bare numerisk vil lægge 2 til eksponenten (så 1E-7 <> 1E-9 og 1E7 -> 1E9) eller om du vil trække 2 fra alle eksponenter (1E-7 -> 1E-9 og 1E7 -> 1E5)
Hvis der skal trækkes 2 fra ensponenten (altså så 1E-7 bliver til 1E-9)
perl -e 'while(<>){s/(S\,value:\s\dE)([\+\-]\d+)/"$1".($2-2)/eg;print}' < fil > nyfil
Og hvis der skal lægges 2 til eksponenten (så 1E-7 bliver til 1E-5 og 1E7 -> 1E9)
perl -e 'while(<>){s/(S\,value:\s\dE[\+\-])(\d+)/"$1".($2+2)/eg;print}' < fil > nyfil
(Jeg kan ikke helt se hvad den sidste skal gøre godt for, men hvem ved.
Jeg håber at det kan bruges...
Søren Koch
Senior Udviklingsingeniør
Direkte telefon +45 4677 5816
Mobil
soeren.koch@xxxxxxxx
Afdelingen for Brændselsceller og Faststofkemi
Risø Nationallaboratoriet for Bæredygtig Energi
Danmarks Tekniske Universitet
Bygning 228, Postboks 49, 4000 Roskilde
Tel +45 4677 5800
Fax +45 4677 5858
www.risoe.dtu.dk
Sikker e-post sendes til risoe@xxxxxxxx
> -----Original Message-----
> From: Michael Schmidt [mailto:michael.zmit@xxxxxxxxx]
> Sent: Wednesday, March 04, 2009 11:31 AM
> To: sslug-teknik@xxxxxxxx
> Subject: [TEKNIK] Søg og addere - regex?
>
> Hej NG, jeg er på usikker grund.
> Jeg har en stor text fil (csv, med , som felt seperator og " som
> tekst/indholds afgrænser) hvori jeg har brug for at justere
> værdien i en
> linje i to felter i alle poster:
>
> S,value: 1E-n
>
> skal ændres til:
>
> S,value: 1E-n+2
>
> Eksempel:
>
> S,value: 1E-2 -> S,value: 1E-4
> S,value: 1E-7 -> S,value: 1E-9
> S,value: 1E-13 -> S,value: 1E-15
>
> (der er i øvrigt linjeombrydning både før og efter hver af
> disse "S,value:
> 1E-n"
> Jeg kunne nok selv finde ud af at lave søg og erstat, men så
> skal der
> ittereres mange gange og jeg riskerer at (vil hel sikkert
> ske) erstatte
> resultatet fra et tildligere gennemløb med et nyt - og derved
> ende med
> forkerte værdier.
>
> Håber I kan hjælpe (og spare mig for mange timers manuel redigering)
>
> På forhånd tak
> --
> Med venlig hilsen
> /Zmit/
> RLU # 314205
>
>
>
>
References