Wie finde ich eine Datei anhand ihres Inhalts unter Linux?

14

Wie finde ich eine Datei anhand ihres Inhalts unter Linux in der Befehlszeile?

Zum Beispiel möchte ich eine Datei mit dem Wort "helo" auf meinem Computer finden.

Gaff
quelle

Antworten:

24

Verwenden:

grep -lir "helo" /path/to/dir
Quanten
quelle
3

Sie können eine Datei mit dem Namen grepall in / usr / local / bin / mit folgendem Inhalt erstellen:

find -type f -exec grep -q $1 {} \; -print

dann können Sie nach Inhalten suchen, indem Sie verwenden grepall something

kockiren
quelle
1
Das ist eine Menge Tipparbeit, wenn Sie einfach grep -r
Matt H
Mit dem Befehl find können Sie rekursiv durch Verzeichnisse und in allen Dateien suchen.
Kockiren
1

egrep -R "hello" /path/to/dir

Adam Eberlin
quelle
1

Böser Weg: grep "something" */*/*

Korjavin Ivan
quelle
0

Wenn Sie ein Administrator oder Programmierer sind, können Sie anstelle der üblichen ripgrep verwenden grep.

rg helo Durchsucht zum Beispiel alle Dateien im aktuellen Arbeitsverzeichnis (inkl. Unterordner).

Weitere Informationen finden Sie im Handbuch , in der Manpage oder sogar im Code.

mbx
quelle