Jak znaleźć określony ciąg lub słowo w plikach i katalogach
- 3693
- 85
- Juliusz Janicki
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.
- « Jak nagrywać i odtwarzać sesje terminali Linux za pomocą poleceń „Script” i „ScripTreplay”
- Jak uruchomić wiele poleceń na wielu serwerach Linux »