Geben Sie den Pfad des Textes aus den Unterverzeichnissen -Unix ein

-1

Angenommen, ich habe diese Textzeile:

Wie geht es dir?

Jetzt möchte ich den Pfad der Datei ausdrucken, die den Text als "Wie geht es dir" enthält.

Ich würde mich sehr über die Hilfe freuen.

rawal
quelle
grep -l druckt die Dateinamen.
simlev

Antworten:

0

Mit GNU grep könnte man das verwenden -R Flagge zu haben grep rekursiv nach Übereinstimmungen suchen. Wenn dein grep unterstützt nicht das Flag, das Sie verwenden könnten find zusammen damit

find "path_to_start" -type f -exec grep -l "How are you?" {} +

welche wird exec grep -l "How are you?" for each file found anywhere under path_to_start (well, with {} + it might invoke grep` mit vielen Dateien gleichzeitig, aber die Ausgabe ist gleich).

Obwohl mit GNU grep es kann sein

grep -Rl "How are you?" "path_to_start"

wo in beiden Befehlen Sie ersetzen "path_to_start" mit dem Stamm, in dem Sie Ihre Suche beginnen möchten

Eric Renouf
quelle