grep -r (oder -R) sucht nicht in Unterordnern

608
KansaiRobot

Es ist einige Zeit vergangen, seit ich kein Linux verwende, stattdessen Windows. In Windows, wenn ich nach Dateien und Dateien in Unterordnern suchen möchte (z. B. nach cs-Dateien)

findstr /s /i /n "Thepattern" *.cs

Ich habe kürzlich herausgefunden, dass Sie grep in MINGW64 verwenden können, das bei Verwendung von Git installiert wird. Also habe ich es versucht

grep --color -n -r "Thepattern" *.cs

Aber obwohl ich -rdie Suche stelle, sind die Unterverzeichnisse nicht enthalten.

Was mache ich falsch mit grep? und wie soll es sein?

EDIT: Anaksunaman gab mir die richtige Antwort:

grep --color -n -r --include=*.cs "Thepattern"

und verschiedene andere Optionen :) Danke!

0
Ich schlage vor, `* .cs 'zu entfernen. Cyrus vor 6 Jahren 0
aber ich möchte nur nach cs-dateien suchen ... KansaiRobot vor 6 Jahren 0

1 Antwort auf die Frage

0
Anaksunaman

Ich habe herausgefunden, dass Sie grep in MINGW64 verwenden können, das bei Verwendung von Git installiert wird.

Ich gehe davon aus, dass Sie sich auf Git Bash beziehen.

Was mache ich falsch mit grep? Und wie soll es sein?

Sie sollten dies versuchen:

 grep --color -n -r --include=*.cs "ThePattern" 

--include=sollte danach kommen -r. Dadurch werden die Ergebnisse auf Dateien begrenzt, die mit ".cs" enden. Sie können auch ein Verzeichnis angeben, wenn Sie möchten:

grep --color -n -r --include=*.cs "ThePattern" ~/some/directory/'with spaces' 

Verweist in diesem Fall ~auf Ihren Benutzerprofilordner unter Windows.

Vorausgesetzt, "ThePattern" ist ein Zeichenkettenliteral, müssen Sie möglicherweise -i angeben, um die Groß- und Kleinschreibung zu berücksichtigen, z. B .:

 grep --color -n -i -r --include=*.cs "ThePattern" 

Ansonsten ist "ThePattern" nicht das Gleiche wie zB "Thepattern" und Sie erhalten möglicherweise keine Ergebnisse.

Beachten Sie, dass Sie jederzeit grep --helpInformationen zu weiteren Optionen erhalten können.

Vielen Dank. Ihre Antwort ergab das beabsichtigte Ergebnis. (Ich habe mir die grep-Dokumentation zwar angesehen, war mir aber offensichtlich nicht klar genug) KansaiRobot vor 6 Jahren 0
Ich bin froh, dass du die Dinge zum Laufen gebracht hast. Die Dokumentation ist nicht immer die klarste, nein. =) Anaksunaman vor 6 Jahren 0