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 $nyTextOutput:
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.txtOm 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 $nyTextOutput:
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
- Microsofts dokumentation om
-replace: https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_comparison_operators - PowerShell Regular Expressions Guide: https://ss64.com/ps/syntax-regex.html
- More about Select-String: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/select-string