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?
Please also mark the comments that contributed to the solution of the article
Content-Key: 607665
Url: https://administrator.de/contentid/607665
Printed on: April 24, 2024 at 10:04 o'clock
2 Comments
Latest comment
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