2025-03-14 21:59:59 -06:00
|
|
|
# sed
|
|
|
|
|
|
|
|
|
|
> Pas tekst aan in een op een scriptbare manier.
|
2025-12-16 10:20:31 -07:00
|
|
|
> Zie ook: `awk`, `ed`.
|
2025-03-14 21:59:59 -06:00
|
|
|
> Meer informatie: <https://www.gnu.org/software/sed/manual/sed.html>.
|
|
|
|
|
|
2026-02-18 06:55:01 -07:00
|
|
|
- Vervang ([s]) alle "apple" (basis `regex`) met "mango" (basis `regex`) in alle invoerregels en toon het resultaat in `stdout`:
|
2025-03-14 21:59:59 -06:00
|
|
|
|
|
|
|
|
`{{commando}} | sed 's/apple/mango/g'`
|
|
|
|
|
|
2026-02-18 06:55:01 -07:00
|
|
|
- Vervang alle "apple" met "mango" in een bestand (waarbij het originele bestand wordt overschreven):
|
2025-03-14 21:59:59 -06:00
|
|
|
|
2026-02-18 06:55:01 -07:00
|
|
|
`sed {{[-i|--in-place]}} 's/apple/mango/g' {{pad/naar/bestand}}`
|
2025-03-14 21:59:59 -06:00
|
|
|
|
2026-02-18 06:55:01 -07:00
|
|
|
- Voer meerdere vervangingen uit in één commando:
|
2025-03-14 21:59:59 -06:00
|
|
|
|
2026-02-18 06:55:01 -07:00
|
|
|
`{{commando}} | sed -e '{{s/appel/mango/g}}' -e '{{s/sinaasappel/limoen/g}}'`
|
2025-03-14 21:59:59 -06:00
|
|
|
|
2026-02-18 06:55:01 -07:00
|
|
|
- Gebruik een aangepaste scheidingsteken (handig als het patroon `/` bevat):
|
2025-03-14 21:59:59 -06:00
|
|
|
|
2026-02-18 06:55:01 -07:00
|
|
|
`{{commando}} | sed '{{s#////#____#g}}'`
|
2025-03-14 21:59:59 -06:00
|
|
|
|
2026-02-18 06:55:01 -07:00
|
|
|
- Verwij[d]er regels 1 tot en met 5 van een bestand en maak een back-up van het originele bestand met een `.orig` extensie:
|
2025-03-14 21:59:59 -06:00
|
|
|
|
2026-02-18 06:55:01 -07:00
|
|
|
`sed {{[-i|--in-place=]}}.orig '1,5d' {{pad/naar/bestand}}`
|
2025-03-14 21:59:59 -06:00
|
|
|
|
2026-02-18 06:55:01 -07:00
|
|
|
- Toon ([p]) alleen de eerste regel naar `stdout`:
|
2025-03-14 21:59:59 -06:00
|
|
|
|
2026-02-18 06:55:01 -07:00
|
|
|
`{{commando}} | sed {{[-n|--quiet]}} '1p'`
|
2025-03-14 21:59:59 -06:00
|
|
|
|
|
|
|
|
- Voeg een nieuwe regel in bij de eerste regel van een bestand:
|
|
|
|
|
|
2025-07-24 22:27:13 -06:00
|
|
|
`sed {{[-i|--in-place]}} '1i\your new line text\' {{pad/naar/bestand}}`
|
|
|
|
|
|
2026-02-18 06:55:01 -07:00
|
|
|
- Verwijder lege regels (met of zonder spaties/tabtekens) uit een bestand, waarbij het oorspronkelijke bestand wordt overschreven:
|
2025-07-24 22:27:13 -06:00
|
|
|
|
|
|
|
|
`sed {{[-i|--in-place]}} '/^[[:space:]]*$/d' {{pad/naar/bestand}}`
|