Replace a text part in textfile: Unterschied zwischen den Versionen
Aus Wiki-WebPerfect
Admin (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== Goal == Replace the text part between ''### Test:'' and ''###''. == Regex == (?<=<YourStartString>)(.|\n)*(?=<YourEndString>) Example for a text part betw…“) |
Admin (Diskussion | Beiträge) |
||
Zeile 7: | Zeile 7: | ||
(?<=\#\#\#\.Test)(.|\n)*(?=\#\#\#) | (?<=\#\#\#\.Test)(.|\n)*(?=\#\#\#) | ||
− | ### Test | + | ### Test |
− | This Text will | + | This Text will |
− | changed with the following | + | changed with the following |
− | PowerShell Skript | + | PowerShell Skript |
− | ### | + | ### |
Zeile 42: | Zeile 42: | ||
− | [[ | + | [[Kategorie:PowerShell]] |
Version vom 27. Juni 2018, 15:32 Uhr
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/