Replace a text part in textfile: Unterschied zwischen den Versionen

Aus Wiki-WebPerfect
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „== Goal == Replace the text part between ''### Test:'' and ''###''. == Regex == (?<=<YourStartString>)(.|\n)*(?=<YourEndString>) Example for a text part betw…“)
 
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:
  
  
[[http://wiki.webperfect.ch/index.php?title=Kategorie:PowerShell]]
+
[[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/