title: Sed (software)
text: Sed is een acroniem van Stream EDitor. Het is een computerprogramma dat behoort tot de standaardset van applicaties onder Unix en GNU/Linux (en varianten). Ook voor andere besturingssystemen bestaan er ports van dit programma.
  
  Sed is niet bedoeld als interactieve editor -hoewel het, met enige moeite, wel als zodanig zou kunnen worden gebruikt- maar wordt meestal, op de unix-manier, gebruikt in pipe-structuren.
  
  In het geval van sed betekent dit: lees uitvoer van een ander commando of van een bestand, bewerk dit volgens een aantal regels (het sed-script) en stuur de uitvoer naar een ander programma of naar een bestand.
  sed maakt gebruik van een simpele en krachtige commando-set en kent een eenvoudige branch- en variabelen-structuur. Desondanks is de taal Turing-compleet.
  
  Sed maakt gebruik van zeer uitgebreide en krachtige reguliere expressies.
  
  Belangrijke kenmerken van sed:
   regel-georiënteerd: alle commando's worden losgelaten op een regel alvorens een volgende regel wordt gelezen en verwerkt;
   De in bewerking zijnde regel wordt opgeslagen in een zogenaamde pattern space waarin eventuele bewerkingen plaatsvinden;
   een zogenaamde hold space kan worden gebruikt om voorgaande regels op te slaan;
   door middel van speciale commando's kunnen pattern space en hold space worden uitgewisseld;
   sed kent een goto label commando;
   er kunnen labels worden gedefinieerd, te gebruiken in goto en conditionele commando's;
   de enige variabelen die sed kent zijn de positionele velden binnen een reguliere expressie;
  
  Commando's 
  [''addr''][''command''] meerregelige commando's
  [''line-addr''][''command''] eenregelige commando's
  
  addr is een regelnummer of een reguliere expressie 
  
  command kan zijn:
   # - commentaar (alleen op positie 1 van de regel)
   s - Substitutie
   d - verwijder (delete) volledige regel
   a - voeg de volgende regel(s) toe (append) achter de huidige
   i - voeg de volgende regel(s) toe (insert) voor de huidige
   c - vervangen (change)
   y - transformeren
   p - geef de huidige regel weer (print)
   n - ga naar de volgende regel (next)
   r - lees (read) een ander bestand
   w - schrijf (write) naar een bestand
  
  Sed-voorbeelden 
  sed -n '3,4p' /etc/passwd
  (Toont enkel de 3e en 4e regel van de passwd file)
  
  echo wokopedoa | sed s/o/i/
  Wijzigt het eerste voorkomen van o in een i, output: wikopedoa
  
  echo wokopedoa | sed s/o/i/g
  Wijzigt alle voorkomens van o in i, output: wikipedia
  
   echo aaa-bbb | sed 's+\(.*\)-\(.*\)+\2-\1+'
   verwissel tekst aan beide zijden van min-teken
  
  Opensourcesoftware en vrije software
  Unix