Replace a text part in textfile
Aus Wiki-WebPerfect
Version vom 27. Juni 2018, 15:32 Uhr von Admin (Diskussion | Beiträge)
Goal
Replace the text part between ### Test: and ###.
Regex
(?<=<YourStartString>)(.|\n)*(?=<YourEndString>)
Example for a text part between:
(?<=\#\#\#\.Test)(.|\n)*(?=\#\#\#)
- Test
This Text will changed with the following PowerShell Skript
PowerShell Skript =
$FileToChangePath = "C:\Temp\FileToChange.txt" $FileToChange = Get-Content $FileToChangePath -Raw $TemplateTextPartPath = Get-Content "C:\Temp\TemplateTextPart.txt" -Raw $RegexSearch = "### Test" #Search the head of text part $RegexReplace = "(?<=\#\#\#\.Test)(.|\n)*(?=\#\#\#)" If ($ZabbixConf -match $RegexSearch) { Write-Host "The text part in the file has been changed." -ForegroundColor Green $ChangeTextPart = $FileToChange -replace $RegexReplace, ("`r`n" + $TemplateTextPartPath + "`r`n") Set-Content -Path $FileToChangePath -Value $ChangeTextPart } Else { Write-Host "The text part in the file has been added." -ForegroundColor Yellow Add-Content -Path $FileToChangePath -Value ("`r`n" + "`r`n" + "`r`n" + "`r`n" + "### Test" + "`r`n" + $TemplateTextPartPath + "`r`n" + "###" ) -PassThru }
Regex101: https://regex101.com/
[[1]]