daniel183
Goto Top

PowerShell: Wert in eine bestehende Datei nach bestimmter Zeile einfügen

Hallo Gemeinde face-smile

Ich habe folgende Frage:
Ist es möglich (und wenn ja - wie, wenn es denn einfach zu machen ist) mit PowerShell in eine bestehende Datei nach einer Zeile mit einem bestimmten Wert einen weiteren Wert in der nächsten Zeile anzuhängen?

Also angenommen, man hat eine Datei die:
"Beispieldatei.txt"

Und der Inhalt der Datei sieht in etwa so aus:

"Das ist

ein

Beispieltext

der keine

echte

Bedeutung hat und nur

der Veranschaulichung

dienen soll."

Und jetzt möchte ich mit PowerShell diese Datei durchsuchen nach dem Wert "Bedeutung hat und nur" (das hab ich hinbekommen mit dem Befehl:
Select-String -Path Pfad\Beispieldatei.txt -Pattern "Bedeutung hat und nur"  

was auch gut klappt) und NACH dem Wert "Bedeutung hat und nur" soll aber ein Wert:
"89456odersonstwas"
eingetragen werden.

Also das der Text am Ende so aussieht:

"Das ist

ein

Beispieltext

der keine

echte

Bedeutung hat und nur

89456odersonstwas

der Veranschaulichung

dienen soll."

Es müssen also:
  • eine Leerzeile
  • der gewünschte Wert
  • eine Leerzeile
eingefügt werden nach dem Fundort von "Bedeutung hat und nur".

Ist das (relativ einfach und ohne großen Aufwand) umsetzbar?

Ich danke euch schon mal für eure Hilfe und hoffe, dass ich mich verständlich ausdrücken konnte.

MfG
face-smile

Content-ID: 527889

Url: https://administrator.de/forum/powershell-wert-in-eine-bestehende-datei-nach-bestimmter-zeile-einfuegen-527889.html

Ausgedruckt am: 09.04.2025 um 23:04 Uhr

Kraemer
Kraemer 20.12.2019 um 19:35:14 Uhr
Goto Top
Ja. Wie? Kommt drauf an.
Fennek11
Fennek11 20.12.2019 um 19:45:01 Uhr
Goto Top
Hallo,

so?

$file = 'C:\Users\xxxx\Desktop\test.txt'  
$Out = @()

foreach ($l in get-content $file) {
    $out += $l
    if ($l -eq 'Bedeutung hat und nur') {  
        $Out += '89456odersowas'  
    }

}
$out | Out-File C:\Users\xxxx\Desktop\out.txt -Force
142232
142232 21.12.2019 aktualisiert um 11:31:46 Uhr
Goto Top
Ein einfacher Replace tuts hier auch
$file = 'text.txt'  
$filenew = 'text_neu.txt'  
(gc $file) -replace '.*Bedeutung hat und nur.*',('$0' + "`r`n`r`n" + "BlaBlub neuer Text") | out-file $filenew  
https://tio.run/##bY/NagJBEITv/RTNIIwaXfICAVnyCCFnx9mKM6TpXeYHPeTdN7OK4M ...
Daniel183
Daniel183 21.12.2019 um 15:13:41 Uhr
Goto Top
Danke face-smile
Habe eine Lösung gefunden face-smile
erikro
erikro 21.12.2019 um 19:09:27 Uhr
Goto Top
Und welche?