Jak wyszukiwać pliki zawierające określone słowo?

37

Jak wyszukiwać pliki zawierające określone słowo?

UAdapter
źródło
5
Czy naprawdę masz na myśli plik wyszukiwania NAMES zawierający określone słowo? tj .: wszystkie pliki, które mają nazwę FUN w swoich nazwach, FUN_time.txt FUN_stuff.txt Lub wyszukać Wewnątrz pliku dla określonych słów?
dr_willis

Odpowiedzi:

51

W wierszu poleceń masz kilka opcji. 3, których najczęściej używam to ...

  1. locate {part_of_word}

    Zakłada się, że twoja baza danych lokalizacji jest aktualna, ale możesz ją zaktualizować ręcznie za pomocą: sudo updatedb

  2. grepjak wyjaśniono przez dr_willis. Jedna uwaga: -Rpo grepprzeszukano również katalogi. Przykład:

    cd\
    grep -R {something_to_look_for} {where_to_look_in}
    
  3. find . -name '*{part_of_word}*' -print

Gdzie .jest katalog, w którym aktualnie się *znajdujesz, i jest symbolem wieloznacznym.

Aha, możesz też to połączyć. Przykład: locate {something}|grep {some_part_of_something}|more

Jeśli dobrze pamiętam: locatejest najszybszy (zakładając, że twoja baza danych jest aktualna) i findjest najwolniejszy. I grepjest najbardziej skomplikowany, ale również najbardziej wszechstronny jednym z nich, ponieważ można użyć regexes.

Rinzwind
źródło
25

grep -R „what” „where”

przykład:

grep -R hello /home

DemonWareXT
źródło
4

Często używa się do tego polecenia grep.

grep PATTERN nazwa pliku

a grep może przeprowadzić bardzo złożone wyszukiwanie.

willis@Cow:~$ grep --help
Usage: grep [OPTION]... PATTERN [FILE]...
Search for PATTERN in each FILE or standard input.
PATTERN is, by default, a basic regular expression (BRE).
Example: grep -i 'hello world' menu.h main.c
dr_willis
źródło
3
lub możesz zrobić „rgrep word”. rekurencyjnie przeszukiwać każdy plik i podkatalog w poszukiwaniu „słowa”
Jeremy Bicha
4

Można użyć grepdo listy plików zawierających wordw danym directory:

grep -Ril word directory

Tutaj:
* -Rrekurencyjnie przeszukuj pliki w podkatalogach.
* -izignoruj ​​wielkość liter
* -lpokaż nazwy plików zamiast części zawartości pliku. (uwaga: -Lpokazuje nazwy plików, które nie zawierają słowa).

użyj, man grepaby uzyskać wszystkie opcje

chandan
źródło
3
Tylko dla -ipewności : wykonuje wyszukiwanie bez rozróżniania wielkości liter.
David Foerster,