Was ist ein äquivalent von *Nix 'cut' - Befehl in der Powershell?
Habe ich folgenden Inhalt in eine Konfigurations-Datei (Beispiel.cfg),
Time_Zone_Variance(Mins):300
Alert_Interval(Mins):2
Server:10.0.0.9
Port:1840
Ich versuche zu speichern die einzelnen Werte nach der :
mithilfe split
in der PowerShell. aber ich bin nicht in der Lage zu produzieren, erfordern Ausgang.
Kann mir jemand sagen, wie man mit der PowerShell split
für das obige problem ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lesen Sie den Inhalt der Datei mit
Get-Content
, dann Rohr jede Zeile durchForEach-Object
, dann verwenden Sie den split-Befehl in jeder Zeile, wobei das zweite Element in das array wie folgt:Ausgabe
Update
Bevorzuge ich den Ansatz von @AnsgarWiechers, aber wenn Sie wirklich müssen konkret benannt Werte, die Sie schaffen könnte eine Hash-Tabelle und ersetzen Sie den Namen mit dem Wert:
Ausgabe
$hour = 300, $min = 2, $server = 10.0.0.9, $port = 1840
$configValues.Keys | % { New-Variable -Name $_ -Value $configValues[$_] }
.Ich nehme an, Sie wollen nicht nur aufgeteilt die Zeilen, aber eigentlich erstellen von Schlüssel/Wert-Paaren. Erreicht werden konnte wie diese:
Konnte man auch mit dem
"ConvertFrom-StringData"
cmdlet:Den
-replace
operation notwendig ist, weilConvertFrom-StringData
erwartet, dass Schlüssel und Wert getrennt durch=
. Wenn Sie sich ändern könnte, das als Trennzeichen in der config-Datei von:
zu=
könnten SieConvertFrom-StringData $_
ohne Ersatz.Wie ist das?