Søking og erstatting av tekst

Bash:
Søking og erstatting av tekst

How to:

Bruk sed for å søke og erstatte i en tekstfil. Her er et enkelt eksempel:

echo "Hallo verden" | sed 's/verden/Norge/'

Output:

Hallo Norge

Flere filer? Intet problem. For å endre alle forekomster av “http” til “https” i flere filer:

sed -i 's/http/https/g' *.html

Legg merke til -i som lagrer endringene tilbake i filene.

Deep Dive

Unix-verktøyet sed, kort for stream editor, ble introdusert på 1970-tallet med editorerne ed og ex. Det står sterk fortsatt fordi det er kraftfullt, og kommandoer kan skriptes.

Alternativer inkluderer awk som er kraftig for tekstbehandling og perl som er et helt programmeringsspråk egnet til komplekse tekstoperasjoner.

Implementasjonsdetaljer: sed fungerar ved å lese en fil linje for linje, bearbeide den med gitt kommando, og skrive ut til standard output. -i flagget endrer filen på plass, men bruk med forsiktighet!

See Also