iocalhost.nl // no place like ::1
references Text Processing SED

SED

Stream-editor voor zoeken/vervangen en regelbewerking.

Vervangen

sed 's/oud/nieuw/' bestand       eerste match per regel
sed 's/oud/nieuw/g' bestand      alle matches
sed 's/oud/nieuw/gi' bestand     hoofdletterongevoelig
sed -i 's/oud/nieuw/g' bestand   in-place wijzigen
sed -i.bak 's/a/b/g' bestand     in-place met back-up

Gebruik een ander scheidingsteken bij paden: sed 's#/oud/pad#/nieuw#g'.

Regels selecteren

sed -n '5p' bestand              alleen regel 5 (-n onderdrukt output)
sed -n '5,10p' bestand           regels 5 t/m 10
sed -n '/patroon/p' bestand      regels die matchen (zoals grep)
sed '3d' bestand                 regel 3 verwijderen
sed '/patroon/d' bestand         matchende regels verwijderen
sed '1d' bestand                 header verwijderen

Bewerken

sed '2i\nieuwe regel' bestand    invoegen vóór regel 2
sed '2a\nieuwe regel' bestand    toevoegen na regel 2
sed '$d' bestand                 laatste regel verwijderen
sed 's/^/> /' bestand            prefix toevoegen
sed 's/[[:space:]]*$//'          trailing whitespace strippen

Capture groups

echo "2024-01-15" | sed -E 's/([0-9]+)-([0-9]+)-([0-9]+)/\3\/\2\/\1/'
# -> 15/01/2024

-E zet extended regex aan; \1..\9 verwijzen naar groepen.