Jak mogę znaleźć plik według jego zawartości w systemie Linux?

14

Jak mogę znaleźć plik według jego zawartości w systemie Linux w wierszu polecenia?

Na przykład chcę znaleźć plik zawierający słowo „helo” na moim komputerze.

Gafel
źródło

Odpowiedzi:

24

Posługiwać się:

grep -lir "helo" /path/to/dir
kwanty
źródło
3

Możesz utworzyć plik o nazwie grepall w / usr / local / bin / o następującej treści:

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

możesz wyszukiwać zawartość według użycia grepall something

kockiren
źródło
1
To dużo pisania, kiedy możesz po prostu grep -r
Matt H
Za pomocą polecenia Znajdź można grep rekurencyjnie w katalogach i grep we wszystkich plikach.
kockiren
1

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

Adam Eberlin
źródło
1

Zły sposób: grep "something" */*/*

Korjavin Ivan
źródło
0

Jeśli jesteś administratorem lub programistą, możesz rozważyć użycie ripgrep zamiast zwykłego grep.

rg helo na przykład przeszukuje wszystkie pliki w bieżącym katalogu roboczym (w tym podfoldery).

Aby uzyskać bardziej szczegółowe informacje, zajrzyj do przewodnika , strony podręcznika , a nawet do kodu.

Mbx
źródło