Wie kann die Windows-Befehlszeile ein grep -o ausführen?


1

Gibt es in Windows eine Möglichkeit, eine übereinstimmende Zeichenfolge in einer Zeichenfolge abzurufen?

echo hereisastring | find "is"  and just display is

ohne grep

Das Folgende funktionierte mit FIND. Dank an Hello71

C:\>echo abcd | find "bc" >nul && if errorlevel 0 echo bc
bc

C:\>

Antworten:


0
ECHO %STRING% | FIND "%FIND%"
IF ERRORLEVEL 0 ECHO %FIND%

C: \ test> echo abcd | find "bc" falls errorlevel 0 echo "bc" <- scheint nicht zu funktionieren. Müssen das mehrere Zeilen sein? Muss es Umgebungsvariablen verwenden?
Barlop

Können Sie ein voll funktionsfähiges Beispiel geben? Ich verstehe nicht wirklich, warum Sie an einem Punkt eine Umgebungsvariable in Anführungszeichen gesetzt haben und an einem anderen Punkt nicht.
Barlop

@barlop: Sie müssen && verwenden, um Befehle in der Eingabeaufforderung zu trennen. FINDsetzt voraus, dass der Parameter in Anführungszeichen steht.
Hallo71

@ Hello71 Ich konnte das Beispiel mit Umgebungsvariablen nicht zum Laufen bringen, da set ein bisschen lustig ist und Leerzeichen oder neue Zeilen enthält. Hast du es geschafft, es mit Umgebungsvariablen zum Laufen zu bringen? Ich habe es geschafft, ohne dass.
Barlop

@barlop: Die Umgebungsvariablen wurden für den Zweck des Beispiels verwendet.
Hallo71,
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.