Jak znaleźć określony ciąg lub słowo w plikach i katalogach

Jak znaleźć określony ciąg lub słowo w plikach i katalogach

Czy chcesz znaleźć wszystkie pliki zawierające określone słowo lub ciąg tekstu w całym systemie Linux lub w danym katalogu. W tym artykule poprowadzi Cię, jak to zrobić, dowiesz się, jak rekurencyjnie wykopać katalogi, aby znaleźć i wymienić wszystkie pliki zawierające dany ciąg tekstu.

Prostym sposobem na rozwiązanie tego problemu jest użycie narzędzia do wyszukiwania wzoru GREP, jest potężne, wydajne, niezawodne i najpopularniejsze narzędzie wiersza poleceń do znajdowania wzorców i słów z plików lub katalogów w systemach podobnych do Unix.

Przeczytaj także: 11 Zaawansowane polecenia „Grep” Linux na klasach postaci i wyrażeniach wsporników

Poniższe polecenie wyświetli wszystkie pliki zawierające wiersz z tekstem „Check_root”, Przez rekurencyjnie i agresywnie przeszukując ~/bin informator.

$ grep -Rw ~/ bin/ -e 'check_root' 
Znajdź słowo w katalogu

Gdzie -R Opcja mówi Grep Aby odczytać wszystkie pliki w każdym katalogu, rekurencyjnie, podążając za symbolicznymi linkami tylko wtedy, gdy znajdują się w wierszu poleceń i opcji -w instruuje go, aby wybrała tylko te wiersze zawierające dopasowania, które tworzą całe słowa i -mi służy do określania ciągu (wzoru) do przeszukania.

Podczas przeszukiwania niektórych katalogów lub plików, które wymagają uprawnień root (chyba że zarządzasz systemem z konto głównego).

 $ sudo grep -Rw / -e 'check_root' 

Zignorować rozróżnienia sprawy Zatrudnia -I Opcja jak pokazano:

$ grep -riw ~/ bin/ -e 'check_root' 

Jeśli chcesz poznać dokładny wiersz, w którym istnieje ciąg tekstu, dołącz -N opcja.

$ grep -rinw ~/ bin/ -e 'check_root' 
Znajdź ciąg z numerem linii

Zakładając, że istnieje kilka rodzajów plików w katalogu, w którym chcesz wyszukać, możesz również określić typ plików, które mają być przeszukane na przykład, za ich rozszerzenie za pomocą --włączać opcja.

Ten przykład instruuje Grep, aby przeglądał tylko wszystkie .cii akta.

$ grep -rnw --include = \*.sh ~/ bin/ -e 'check_root' 

Ponadto możliwe jest wyszukiwanie więcej niż jednego wzorca, używając następującego polecenia.

$ grep -rinw ~/ bin/ -e 'check_root' -e 'netstat' 
Znajdź wiele słów w plikach

Otóż ​​to! Jeśli znasz jakąkolwiek inną sztuczkę wiersza poleceń, aby znaleźć ciąg lub słowo w plikach, udostępnij nam lub zadaj pytania dotyczące tego tematu, użyj poniższego formularza komentarza.