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-Key: 527889

Url: https://administrator.de/contentid/527889

Printed on: April 29, 2024 at 04:04 o'clock

Member: Kraemer
Kraemer Dec 20, 2019 at 18:35:14 (UTC)
Goto Top
Ja. Wie? Kommt drauf an.
Member: Fennek11
Fennek11 Dec 20, 2019 at 18:45:01 (UTC)
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
Mitglied: 142232
142232 Dec 21, 2019 updated at 10:31:46 (UTC)
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 ...
Member: Daniel183
Daniel183 Dec 21, 2019 at 14:13:41 (UTC)
Goto Top
Danke face-smile
Habe eine Lösung gefunden face-smile
Member: erikro
erikro Dec 21, 2019 at 18:09:27 (UTC)
Goto Top
Und welche?