Ich möchte alle Dateien finden, die eine bestimmte Textfolge enthalten. Wie würden Sie das im Terminal machen?
Ich möchte alle Dateien finden, die eine bestimmte Textfolge enthalten. Wie würden Sie das im Terminal machen?
Antworten:
grep -r 'text goes here' path_goes_here
man grep
, all die wunderbaren Möglichkeiten von grep zu entdecken
No such file or directory
Ich versuche, nur die Liste der Textvorkommen abzurufen. Wie können wir diese Liste bekommen?
grep -lr "text pattern" ./ -s
; grep -lr "text pattern" [PATH OF PARENT] -s
Verwenden Sie Scheinwerfer
mdfind "text goes here"
mdfind -onlyin /home/user/Desktop -live "live update"
vergiss nicht zu schauen auf:
man mdfind
brew install ack
ack "text goes here"
find . |grep "text goes here"
grep -RnslI "text goes here"
Ignacios Antwort ist großartig und hat mir geholfen, die Dateien zu finden, die bestimmten Text enthalten. Das einzige Problem, dem ich gegenüberstand, war, dass beim Ausführen dieses Befehls alle Dateien aufgelistet wurden, einschließlich einer, bei der das Muster nicht angezeigt wurde.
No such file or directory
Dies sehe ich neben Dateien, die das Muster nicht enthalten.
Wenn Sie stattdessen -s
den Befehl hinzufügen , wie in
grep -lr "text pattern" ./ -s
:; grep -lr "text pattern" [PATH DIRECTORY] -s
wird nur angezeigt, welche Dateien das Muster enthalten.
Ebenso wenn grep -nr "text pattern" ./ -s
; grep -nr "text pattern" [PATH OF DIRECTORY] -s
Befehl wird verwendet, um die Datei plus die Zeilennummer und das Auftreten des Musters zu drucken.
Bitte korrigieren Sie mich, wenn mein Verständnis falsch ist.
grep ... 2>/dev/null
. Diese Lösung funktioniert für die meisten Programme, da sie Fehlermeldungen im stderr-Stream und nicht im stdout-Stream melden. Ich habe diese Lösung schon oft mit verwendet find
, da für viele Dateien die Erlaubnis verweigert wird .
No such file or directory
Nachrichten für vorhandene Dateien erhalten, tun Sie entweder etwas falsch oder Ihr System ist kaputt. (2) Was hat [PATH OF PARENT]
mit irgendetwas zu tun?
[PATH OF DIRECTORY]
nur zu zeigen, falls jemand Unbekanntes wissen wollte, warum ich gesetzt hatte./