sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #69787
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