Tekst zoeken en vervangen

PowerShell:
Tekst zoeken en vervangen

Hoe:

PowerShell maakt zoeken en vervangen vrij eenvoudig. Bekijk -replace voor strings en Get-Content met Set-Content voor bestanden.

Tekst in een string vervangen:

$text = "I love PowerShell"
$updatedText = $text -replace "love", "adore"
$updatedText

Voorbeelduitvoer:

I adore PowerShell

Tekst in een bestand vervangen:

$file = "example.txt"
$content = Get-Content $file
$content | ForEach-Object { $_ -replace "oldWord", "newWord" } | Set-Content $file

Hier geen uitvoer, maar example.txt heeft nu elk “oudWoord” vervangen door “nieuwWoord”.

Diepere duik

Sinds het begin van tekstbewerking is zoeken en vervangen een hoeksteen geweest. Denk eraan als de zoek-en-vervang functie in een tekstverwerker maar dan super opgeladen voor codenoden.

Vroeger gebruikten commandoregel-tovenaars gereedschappen zoals sed in Unix. PowerShell bracht deze functionaliteit naar zijn scripttaal. Waarom is het cool? Omdat het gebonden is aan objecten, niet alleen aan tekst. Dat betekent dat je niet alleen code en tekstbestanden kunt aanpassen, maar ook gegevensstructuren en meer.

Alternatieven? Zeker. Je hebt teksteditors en IDE’s met hun eigen zoek-en-vervang, batchscripts, of zelfs programmeerbibliotheken ontworpen voor tekstmanipulatie.

Implementatiedetails? PowerShell doet aan regex. Dat betekent dat je dingen kunt vervangen op basis van patronen, niet alleen vaste woorden. Plus, met PowerShell-scripts kun je deze bewerkingen automatiseren over een enorm aantal bestanden, wat je een hoop tijd bespaart.

Zie ook

  • PowerShell -replace operator documentatie: link
  • Het gebruik van Get-Content en Set-Content: link