tschepeto

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?
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 607665

Url: https://administrator.de/forum/powershell-nummer-mit-trennzeichen-vergleichen-607665.html

Ausgedruckt am: 05.05.2025 um 10:05 Uhr

145916
Lösung 145916 25.09.2020 aktualisiert um 15:31:48 Uhr
Goto Top
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}$'}  
oder auch so mit zusätzlicher Angabe der Zeilennnummern
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   
tschepeto
tschepeto 28.09.2020 um 07:54:19 Uhr
Goto Top
Danke face-smile hilft mir schon weiter!