Ich habe eine einfache Textdatei und ich brauche ein Powershell-Skript, um einige Teile des Dateiinhalts zu ersetzen.Ersetzen Sie den Inhalt einer Textdatei durch eine Regex in Powershell
Meine aktuelle Skript ist die folgende:
$content = Get-Content -path "Input.json"
$content -Replace '"(\d+),(\d{1,})"', '$1.$2' | Out-File "output.json"
Ist es möglich, sie in einer Zeile ohne den Inhalt Variable zu schreiben, wie das?
Get-Content -path "Input.json" | ??? -Replace '"(\d+),(\d{1,})"', '$1.$2' | Out-File "output.json"
Ich weiß nicht, wie ich die Ausgabe des ersten Get-Content Commandlet im zweiten Befehl ohne den $ content Variable verwenden kann? Gibt es eine automatische Powershell-Variable
Ist es möglich, mehr Ersetzungen zu tun als einer in einer Pipeline.
Get-Content -path "Input.json" | ??? -Replace '"(\d+),(\d{1,})"', '$1.$2' | ??? -Replace 'second regex', 'second replacement' | Out-File "output.json"
Danke! Das ist, was ich will! –
Obwohl es nur für eine Zeile nach der anderen funktioniert, wird "\" n "," b "-replace ('\ n', 'a')' 'a', 'b' zurückgeben. '\' n "," b "-replace ('\ nb', 'a')' Gibt immer noch "\' n "," b " –
@TheRedPea zurück: Sie können es mit allen Zeilen auf einmal machen 'Get-Content-Raw' stattdessen. Sie erhalten dann eine einzelne Zeichenfolge zurück. – Joey