Jak wyszukiwać pliki zawierające określone słowo?
Jak wyszukiwać pliki zawierające określone słowo?
Odpowiedzi:
W wierszu poleceń masz kilka opcji. 3, których najczęściej używam to ...
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
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}
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.
grep -R „what” „where”
przykład:
grep -R hello /home
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
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
-ipewności : wykonuje wyszukiwanie bez rozróżniania wielkości liter.