Sökning och ersättning av text

PowerShell:
Sökning och ersättning av text

Hur man gör:

Låt oss dyka rakt in i några PowerShell-kommandon:

# Söker och ersätter 'äldre' med 'nyare' i en textsträng
$text = 'Detta är en teststräng med ordet äldre.'
$nyText = $text -replace 'äldre', 'nyare'
Write-Output $nyText

Output:

Detta är en teststräng med ordet nyare.

För att jobba med filer:

# Söker och ersätter i en fil
Get-Content .\gammal_fil.txt | ForEach-Object {
    $_ -replace 'gammal', 'ny' 
} | Set-Content .\ny_fil.txt

Om du vill göra en case-insensitive sökning, använd -ireplace istället:

$text = 'PowerShell Är Kul.'
$nyText = $text -ireplace 'är', 'IS'
Write-Output $nyText

Output:

PowerShell IS Kul.

Deep Dive

Sök och ersätt började i de tidigaste textredigerarna – en tid när automatisering var nytt. I PowerShell används regex (Regular Expressions) för mer avancerade operationer, vilket ger djupare kontroll över textmanipulering.

Förutom -replace, finns andra cmdlets som Select-String för att bara hitta textsträngar. Implementationen utnyttjar .NET-klasserna under huven, vilket ger snabb och kraftfull textbearbetning.

Alternativ

Du kan också använda .NET-metoder direkt i PowerShell, som Replace() på strängobjekt, men det ‘PowerShelliga’ sättet med -replace är oftast enklare för simple uppgifter.

Se även