Power Shell + stimmt genau mit dem ersten Feld überein und erfasst das zweite Feld nach dem Trennzeichen

364
King David

Wir haben die folgende Datei (files.sum)

Das erste Feld ist der Name der Datei

Das zweite Feld ist der Separator

der thired feald ist die Summe

configuration.txt:2327432786 config.csv:458349573 config.csv1:446433543 mod_binaries.txt:475327527 mod_bin:2358934573875 

Wir möchten die Summe der Datei - config.csv erfassen

so

$ SUM ist der dritte erforderliche Wert - 458349573

Was ist das Power Shell-Cli, das die Summenwerte gemäß dem Dateinamen ergeben kann?

0

1 Antwort auf die Frage

0
User025

Dies kann mit dem Split- Befehl erreicht werden. Sie können einfach jede Zeile in files.sim durchlaufen, mit ":" als Trennzeichen aufteilen und prüfen, ob das 0-Element im resultierenden Array Ihrem Dateinamen entspricht und wenn dies der Fall ist, setzen Sie $ sum auf das 1-Element des aktuellen Arrays. Hier ist ein Beispiel:

$file = 'config.csv' $seperator = ':' foreach($line in Get-Content .\files.sum) { $NameAndSum = $line.split($seperator) if($NameAndSum[0] -eq $file){ $Sum = $NameAndSum[1] } } echo $file$seperator$sum