Replace a text part in textfile: Unterschied zwischen den Versionen
Aus Wiki-WebPerfect
Admin (Diskussion | Beiträge) |
Admin (Diskussion | Beiträge) |
||
Zeile 16: | Zeile 16: | ||
== PowerShell Skript == | == PowerShell Skript == | ||
=== File to change - Before the PowerShell Script=== | === File to change - Before the PowerShell Script=== | ||
− | + | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, | |
− | + | sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, | |
− | sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, | + | sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, |
− | sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, | + | no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, |
− | no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, | + | consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, |
− | consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, | + | sed diam voluptua. |
− | sed diam voluptua. | + | At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, |
− | At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, | + | no sea takimata sanctus est Lorem ipsum dolor sit amet. |
− | no sea takimata sanctus est Lorem ipsum dolor sit amet. | + | |
− | + | ### Test | |
− | ### Test | + | This Text will |
− | This Text will | + | changed with the following |
− | changed with the following | + | PowerShell Script |
− | PowerShell Script | + | ### |
− | ### | + | |
Zeile 54: | Zeile 53: | ||
=== Text part in the file has been changed - After the PowerShell Script=== | === Text part in the file has been changed - After the PowerShell Script=== | ||
− | + | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, | |
− | sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, | + | sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, |
− | sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, | + | sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, |
− | no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, | + | no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, |
− | consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, | + | consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, |
− | sed diam voluptua. | + | sed diam voluptua. |
− | At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, | + | At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, |
− | no sea takimata sanctus est Lorem ipsum dolor sit amet. | + | no sea takimata sanctus est Lorem ipsum dolor sit amet. |
− | + | ||
− | ### Test | + | ### Test |
− | This Text is | + | This Text is |
− | the changed text | + | the changed text |
− | with the PowerShell Script | + | with the PowerShell Script |
− | ###'' | + | ###'' |
Version vom 27. Juni 2018, 15:40 Uhr
Inhaltsverzeichnis
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
File to change - Before the PowerShell Script
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. ### Test This Text will changed with the following PowerShell Script ###
$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 ($FileToChange -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 }
Text part in the file has been changed - After the PowerShell Script
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. ### Test This Text is the changed text with the PowerShell Script ###
Regex101: https://regex101.com/