Replace a text part in textfile: Unterschied zwischen den Versionen
Aus Wiki-WebPerfect
Admin (Diskussion | Beiträge) |
Admin (Diskussion | Beiträge) |
||
Zeile 4: | Zeile 4: | ||
== Regex == | == Regex == | ||
(?<=<YourStartString>)(.|\n)*(?=<YourEndString>) | (?<=<YourStartString>)(.|\n)*(?=<YourEndString>) | ||
− | Example for a text part | + | Example for a text part: |
− | + | ||
− | + | ||
### Test | ### Test | ||
This Text will | This Text will | ||
Zeile 12: | Zeile 10: | ||
PowerShell Skript | PowerShell Skript | ||
### | ### | ||
+ | Regex for the example text part below: | ||
+ | (?<=\#\#\#\.Test)(.|\n)*(?=\#\#\#) | ||
+ | |||
+ | |||
Version vom 27. Juni 2018, 15:33 Uhr
Goal
Replace the text part between ### Test: and ###.
Regex
(?<=<YourStartString>)(.|\n)*(?=<YourEndString>)
Example for a text part:
### Test This Text will changed with the following PowerShell Skript ###
Regex for the example text part below:
(?<=\#\#\#\.Test)(.|\n)*(?=\#\#\#)
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/