PowerShell in Textdatei nach bestimmten Zeichen suchen?
Heyy, ich bräuchte Hilfe von einem PowerShell Profi..
Und zwar möchte ich eine Textdatei auf eine bestimmte Folge von Buchstaben / Zahlen Prüfen. Quasi wie ein SQL Befehl, denn das wilde an der Sache ist:
Die Textdatei beinhaltet unsichtbare Sonderzeichen. Z.B. möchte ich eine Zeile auf das Wort "Hallo" prüfen.
Textzeile beispiel: ³%&Ha5³{{ll³o/"
$containsWord = $file | $containsWord = $file | %{$_ -contains "H & a & l & l & o"}
Das H & war erfunden, aber ich glaube ihr wisst worauf ich hinaus will, gibt es da vllt sogar eine MS Seite zu, die da eine Auflistung von Filter Elementen hat?
2 Antworten
Ganz schön heftig Dein String (³%&Ha5³{{ll³o/") , darin noch ein Hallo zu entdecken ist schon ein kleines Kunststück für ein Menschliches Gehirn
Zum Glück gibt es Regular Expression.
Für Deinen Fall:
- [hH] = H oder h
- [\W\d]* = 0mal oder beliebig oft: (kein Buchstabe oder Zahl \W ) oder (eine Zahl \d )
- [a] = a...usw....
search.ps1
$regex = '[H][\W\d]*[a][\W\d]*[l][\W\d]*[l][\W\d]*[o]'
Select-String -Path test.txt -Pattern $regex
pause
test.txt
ballo
³%&Ha5³{{ll³o/"
Moppelkotze
³%&Ha³{{ll³o/"
Rumpelheinz
§%&h²³a[8]8%l€!l=o
Quellen:
Was ist denn mit findstr?
https://www.computerhope.com/findstr.htm
Hier in einem Batch-Skript demonstriert:
Ja, schade. Aber schön, dass Du in dem anderen Kommentar schon die Antwort gefunden hast :D
Ja, ich habe es erst mit Findstr probiert, aber ich muss Nummer filtern, nach langen probieren scheint es wohl einen bekannten Fehler mit finstr zu geben, dass es bei über 3 Zahlen zu Fehlern falschen Ergebnissen kommt, wieso auch immer :(