2024-01-08 14:11:11 +01:00
|
|
|
# sed
|
|
|
|
|
|
|
|
> Pas tekst aan in een op een scriptbare manier.
|
|
|
|
> Bekijk ook: `awk`, `ed`.
|
|
|
|
> Meer informatie: <https://www.gnu.org/software/sed/manual/sed.html>.
|
|
|
|
|
|
|
|
- Vervang alle `apple` (basis regex) met `mango` (basis regex) in alle invoerregels en toon het resultaat in `stdout`:
|
|
|
|
|
|
|
|
`{{commando}} | sed 's/apple/mango/g'`
|
|
|
|
|
|
|
|
- Vervang alle `apple` (uitgebreide regex) met `APPLE` (uitgebreide regex) in alle invoerregels en toon het resultaat in `stdout`:
|
|
|
|
|
2025-03-19 00:36:34 +02:00
|
|
|
`{{commando}} | sed {{[-E|--regexp-extended]}} 's/(apple)/\U\1/g'`
|
2024-01-08 14:11:11 +01:00
|
|
|
|
2025-06-20 22:07:34 +02:00
|
|
|
- Gebruik basisregex om `apple` te vervangen door `mango` en `orange` door `lime` in een bestand (waarbij het originele bestand wordt overschreven):
|
2024-01-28 14:39:25 +01:00
|
|
|
|
2025-06-20 22:07:34 +02:00
|
|
|
`sed {{[-i|--in-place]}} -e 's/apple/mango/g' -e 's/orange/lime/g' {{pad/naar/bestand}}`
|
2024-01-28 14:39:25 +01:00
|
|
|
|
|
|
|
- Voer een specifiek script bestand uit en toon het resultaat in `stdout`:
|
|
|
|
|
2025-03-19 00:36:34 +02:00
|
|
|
`{{commando}} | sed {{-f|--file}} {{pad/naar/script.sed}}`
|
2024-01-28 14:39:25 +01:00
|
|
|
|
2024-01-08 14:11:11 +01:00
|
|
|
- Toon alleen de eerste regel in `stdout`:
|
|
|
|
|
2025-03-19 00:36:34 +02:00
|
|
|
`{{commando}} | sed {{[-n|--quiet]}} '1p'`
|
2024-01-08 14:11:11 +01:00
|
|
|
|
2025-06-20 22:07:34 +02: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:
|
2024-01-08 14:11:11 +01:00
|
|
|
|
2025-06-20 22:07:34 +02:00
|
|
|
`sed {{[-i|--in-place=]}}{{.orig}} '1,5d' {{pad/naar/bestand}}`
|
2024-01-28 14:39:25 +01:00
|
|
|
|
|
|
|
- Voeg een nieuwe regel in bij de eerste regel van een bestand:
|
|
|
|
|
2025-06-03 14:48:03 +02:00
|
|
|
`sed {{[-i|--in-place]}} '1i\your new line text\' {{pad/naar/bestand}}`
|
2025-06-20 22:07:34 +02:00
|
|
|
|
|
|
|
- Verwijder lege regels (met of zonder spaties/tabtekens) uit een bestand, waarbij het oorspronkelijke bestand ter plaatse wordt overschreven:
|
|
|
|
|
|
|
|
`sed {{[-i|--in-place]}} '/^[[:space:]]*$/d' {{pad/naar/bestand}}`
|