Der Windows- FINDSTR
Befehl ist nützlich, um große Datenmengen zu durchsuchen. Es filtert Textzeilen heraus, die mit einem bestimmten Muster oder einer bestimmten Zeichenfolge (wie GNU / BSD grep
) übereinstimmen oder nicht übereinstimmen .
Es weigert sich jedoch, Zeilen auszugeben, die länger als eine bestimmte Länge sind. Gibt es eine (native) Alternative, eine Fehlerbehebung oder eine Problemumgehung?
Antworten:
SS64's FINDSTR - Escapes and Length limits sagt:
quelle
MD
,RD
,DEL
,COPY
(oder, Gott bewahre:XCOPY
), nicht ihren bösen Vater zu erwähnenCMD
),FINDSTR
wird in diesem Fall (ohne Fehler bei der normalen Texteingabe) jeder Zeile der Ausgabe der aktuelle Dateiname vorangestellt, der aus der Liste verarbeitet wird, egal was passiert. Daher kann FINDSTR nicht als richtiger Filter verwendet werden, auch nicht in diesem Modus, in dem die Verkrüppelung teilweise aufgehoben ist/F
. (Und ich bin nicht einmal ein Anti-MS-Fanatiker.)Die besser eingebaute Alternative wäre PowerShells Select-String (oder dessen Alias
sls
)Beachten Sie jedoch, dass
Select-String
bei der Suche standardmäßig die Groß- und Kleinschreibung nicht berücksichtigt wird, im Gegensatz zu den meisten Alternativenquelle