06. oktober 2003 - 12:52
Der er
11 kommentarer og 2 løsninger
Hjælp til sed med reg.exp
Hej Reg.Experter :) Jeg sidder og skal have lavet noget replace på nogen filer... Regel 1: Filens øverste del må ikke røres (linie 1) Regel 2: teksten `foo` skal erstattes med `bar` Jeg har prøvet noget i retning af: sed s/foo/bar/ file Det virker også fint, men hvordan får jeg regel 1 indført? Bagefter dette, skal linie 1 i filen have erstattet teksten `flaf` med `paphat`. Og kun linie 1. Any ideas?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
06. oktober 2003 - 13:00
#1
måske ala (utestet) sed '2,10s/foo/bar/p' file sed '1,1s/flaf/paphat/p' file
06. oktober 2003 - 13:03
#2
sed 'x,y hvor x er startlinie og y er slutlinie
06. oktober 2003 - 13:06
#3
Det virker fint. Bortset fra at jeg får den samme linie lagt ind 2 gange...
06. oktober 2003 - 13:08
#4
wow ;) så når du kører det kopierer den samtlige linier til at være der to gange ?
06. oktober 2003 - 13:10
#5
Nej, underligt nok er det kun den første linie... Der står så i min fil 1: paphat <-- rigtigt 2: paphat <-- forkert
06. oktober 2003 - 13:10
#6
Du kan også prøve denne - så bliver sed kun kaldt en gang: sed -e '1s/flaf/paphat/g' -e '1!s/foo/bar/g' file
06. oktober 2003 - 13:13
#7
morp >> sikkert 1,1 der skaber problemet, prøv venne's løsning, den er mere stueren
06. oktober 2003 - 13:25
#8
'1s/flaf/paphat/g' <-- Kun linie? '1!s/foo/bar/g'<-- Alle linier, undtaget 1?
06. oktober 2003 - 13:26
#9
Ja, '1' angiver linie 1, '1!' angiver alle andre linier end linie 1.
06. oktober 2003 - 14:36
#10
Er der nogen der ligger svar?
06. oktober 2003 - 14:39
#11
.
06. oktober 2003 - 14:41
#12
Ok, men virker det som det skal?
06. oktober 2003 - 14:55
#13
Jeps, det virker 100% som det skal
Kurser inden for grundlæggende programmering