Hallo,
ich muss in einer Log-Datei die Anzahl an bestimmen Strings herausfinden. Ein String lautet z.B.: 11:
Der String kann irgendwo in der Zeile stehen.
Habe keine Idee wie ich da vorgehen muss.
Seite 1 von 1
Batch Anzahl Strings zählen
Anzeige
#2
geschrieben 02. September 2019 - 13:10
( get-content $pathToLogFileTXT | ?{ $_ -like '*filter*' } ).Count
liefert die Anzahl der Zeilen, wo irgendwo "filter" drinsteht. * ist Platzhalter. Klein/groß ist egal. Falls wichtig, -clike wie "case sensitive like" verwenden.
Wenn der gesuchte Inhalt pro Zeile zu komplex ist, statt -like den Operator -match nehmen und einen passenden regulären Ausdruck verwenden.
$_.Contains(teilstring) geht prinzipiell auch, ist aber immer case-sensitive.
EDIT
Seh grad, soll batch sein. Das Beispiel oben ist in Powershell.
Kann man aber in eine Powershell-Scriptdatei stecken (Endung ps1) und aus Batch heraus mit powershell -File <pfad zur PS1-Datei> aufrufen.
Dieser Beitrag wurde von RalphS bearbeitet: 02. September 2019 - 13:19
#3 _d4rkn3ss4ev3r_
geschrieben 05. September 2019 - 21:02
Das geht mittels for und find oder findstr Befehl.
- ← Montalich Daten vom Vormonat per Robocopy verschieben
- Skript/Web-Programmierung
- Batch: Werte mehrmals in einer CSV Liste →
Thema verteilen:
Seite 1 von 1