Powershell Nummer mit Trennzeichen vergleichen
Ich möchte den Inhalt einer Textdatei überprüfen. In dieser sind Inventarnummern aufgelistet.
Dies sieht zum Beispiel so aus:
555-811.22.333.442
333-111.22.333.555
Leider wurden die Nummern teilweise falsch erfasst und ich darf sie nun korrigieren. Der häufigste Fehler sind fehlende Trennzeichen oder falsche Trennzeichen:
555.811.22.333.442
555811.22.333.442
555-811-22-333-442
Mir reicht es, wenn die falschen Inventarnummern aufgelistet werden.
$syslog meldet dann den Fehler.
Hier ein Beispiel meines xten Versuches, die Trennzeichen auszuschliessen
if ($textdatei -contains " {0-999}-{0-999}.{0-99}.{0-999}.{0-999} ") {Write-Host "Keine Fehler"}
else
{
$syslog
}
Ich denke, die regulären Ausdrücke wären ein Ansatz, leider fehlt mir aber das Wissen für komplexere Abfragen. Weiss jemand einen Rat?
Dies sieht zum Beispiel so aus:
555-811.22.333.442
333-111.22.333.555
Leider wurden die Nummern teilweise falsch erfasst und ich darf sie nun korrigieren. Der häufigste Fehler sind fehlende Trennzeichen oder falsche Trennzeichen:
555.811.22.333.442
555811.22.333.442
555-811-22-333-442
Mir reicht es, wenn die falschen Inventarnummern aufgelistet werden.
$syslog meldet dann den Fehler.
Hier ein Beispiel meines xten Versuches, die Trennzeichen auszuschliessen
if ($textdatei -contains " {0-999}-{0-999}.{0-99}.{0-999}.{0-999} ") {Write-Host "Keine Fehler"}
else
{
$syslog
}
Ich denke, die regulären Ausdrücke wären ein Ansatz, leider fehlt mir aber das Wissen für komplexere Abfragen. Weiss jemand einen Rat?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 607665
Url: https://administrator.de/forum/powershell-nummer-mit-trennzeichen-vergleichen-607665.html
Ausgedruckt am: 05.05.2025 um 10:05 Uhr
2 Kommentare
Neuester Kommentar

Mir reicht es, wenn die falschen Inventarnummern aufgelistet werden.
(gc 'D:\textdatei.txt') | ?{$_ -notmatch '^\d{1,3}-\d{1,3}\.\d{1,2}\.\d{1,3}\.\d{1,3}$'}
Select-String 'D:\textdatei.txt' -Pattern '^\d{1,3}-\d{1,3}\.\d{1,2}\.\d{1,3}\.\d{1,3}$' -NotMatch -AllMatches | select LineNumber,Line