Startpagina > Tekstverwerking en zoeken > sed

sed Opdracht Handleiding: Gebruik van de Stroomeditor

`sed`-opdracht (stream editor) is een krachtige niet-interactieve tekstverwerkings-tool die wordt gebruikt om tekststromen (invoer die via bestanden of pijpen wordt geleverd) te bewerken. Het maakt efficiënte taken mogelijk zoals zoeken, vervangen, verwijderen of invoegen van tekst zonder het bestand te openen. Het is essentieel voor geautomatiseerde teksttransformaties in shell-scripts. Leer in deze handleiding de basisgebruik van de `sed`-opdracht en geavanceerde functies met reguliere expressies.

Overzicht van sed

`sed` leest regels één voor één uit de invoerstream en verwerkt deze volgens de opgegeven regels (script), waarna de resultaten naar de standaarduitvoer worden gestuurd. Het oorspronkelijke bestand wordt standaard niet gewijzigd; om de wijzigingen op te slaan, moet je de omleiding (`>`) gebruiken of de `-i` optie toepassen.

Hoofdfuncties van sed

`sed`-opdracht wordt voornamelijk gebruikt voor de volgende doeleinden:

Belangrijkste Toepassingsgebieden

  • Tekst vervangen: Vervangt specifieke tekenreeksen in een bestand door andere tekenreeksen. (De meest voorkomende toepassing)
  • Regels verwijderen/toevoegen: Verwijdert regels die een specifiek patroon bevatten of voegt nieuwe regels op een specifieke plaats toe.
  • Patroon-matching en uitvoer: Geeft alleen de regels weer die overeenkomen met een specifiek patroon of verwerkt alleen een specifiek bereik van regels.
  • Bestandsindeling wijzigen: Converteert de indeling van tekstbestanden of herschikt gegevens.
  • Scriptautomatisering: Speelt een cruciale rol in shell-scripts voor batchverwerking van grote tekstbestanden.

Basisstructuur van sed

`sed` heeft de basisopdrachtstructuur `sed [OPTIES] 'script' [INVOER_BESTAND...]`. Hier is 'script' in de vorm `[adres]commando[argument]`, waarbij het belangrijkste commando `s` (substitutie) is.

Belangrijkste sed Opdrachtopties

`sed`-opdracht biedt verschillende opties voor invoerverwerking, scriptopgave, uitvoercontrole, waardoor flexibele tekstbewerking mogelijk is.

1. Script- en bestandverwerkingsopties

2. Vervangings (s) Opdrachtvlaggen

3. Overige nuttige opdrachten

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`sed` Voer het commando uit.

Combineer deze opties en voer de opdracht virtueel uit met de AI.

Voorbeelden

Leer hoe je de inhoud van tekstbestanden effectief kunt doorzoeken, vervangen en verwijderen met verschillende voorbeelden van de `sed`-opdracht.

Vervang alle 'old' door 'new' in een bestand

sed 's/old/new/g' example.txt

Wijzigt alle woorden 'old' in het bestand `example.txt` naar 'new' en toont de resultaten op de standaarduitvoer.

Vervang tekenreeks direct in het originele bestand

sed -i.bak 's/DEBUG=true/DEBUG=false/' config.conf

Wijzigt 'DEBUG=true' naar 'DEBUG=false' in het bestand `config.conf` en maakt een back-up van het originele bestand (`.bak` extensie).

Verwijder regel met een specifiek regelnummer

sed '5d' log.txt

Verwijdert de 5e regel uit het bestand `log.txt` en toont de resultaten.

Verwijder regels binnen een bereik

sed '10,20d' document.txt

Verwijdert de inhoud van regel 10 tot 20 in het bestand `document.txt` en toont de resultaten.

Verwijder regels met een specifiek patroon

sed '/WARNING/d' errors.log

Verwijdert alle regels die het woord 'WARNING' bevatten uit het bestand `errors.log` en toont de resultaten.

Voeg een headerregel toe aan de inhoud van een bestand

sed '1i\Naam,Leeftijd,Stad' data.csv

Voegt een nieuwe headerregel bovenaan het bestand `data.csv` toe.

Verwijder lege regels

sed '/^$/d' text.txt

Verwijdert alle lege regels uit het bestand `text.txt`. `^$` is de reguliere expressie voor lege regels.


Hétzelfde categoriecommando