← Back to team overview

sslug-teknik team mailing list archive

Re: sed og stier

 

Søndag 04 januar 2004 14:42 kvad Gert Lavsen:
> Hvordan bruger man sed, hvis man skal udskifte linien
> path/til/et/dir med linien path/til/et/nyt dir ?
> sed -i '/s/path/til/et/dir/path/til/et/nyt dir/g' filnavn virker
> selvfølgelig ikke.

God dag Gert,

Du starter dit mønster med /s/ hvilket er en adresse - adressen på 
alle linjer der indeholder et 's'. Jeg antager at du bruger ønsker at 
bruge seds 's'-kommando fordi du vil _s_ubstituere et mønster. I så 
tilfælde skal du droppe skråstregen foran 's'et.
Dernæst har du nødigt at fortælle sed hvordan den skal kende forskel 
på de skråstreger dine stier indeholder, og de du adskiller din 
sed-kommandos enkeltdele med ('s'-kommandoen, søgemønstret, 
erstatningsmønstret, kommandoens parametre).

Du har forskellige muligheder.
Du kan angive at sed skal forstå en skråstreg i et mønster 
bogstaveligt ved at indkapsle skråstregen i firkantede paranteser, 
eller ved at escape den med en backslash - [/] eller \/
Du kan bruge noget andet end en skråstreg til at adskille 
sed-kommandoens enkeltdele. F.eks. et pipe-tegn: |

sed -i 's/path[/]til[/]et[/]dir/path[/]til[/]et[/]nyt[/]dir/g' filnavn
sed -i 's/path\/til\/et\/dir/path\/til\/et\/nyt\/dir/g' filnavn
sed -i 's|path/til/et/dir|path/til/et/nyt/dir|g' filnavn

Hilsen Johnny :o)



References