Jak znaleźć tekst w plikach w Linux

Jak znaleźć tekst w plikach w Linux

Dla administratora systemu praca z plikami tekstowymi jest powszechnym zjawiskiem. Być może muszę znaleźć określoną sekcję z stosów plików dziennika w celu rozwiązywania problemów? Lub trzeba szybko znaleźć dokument zawierający niezbędne informacje?

W przypadku Linux istnieje wiele metod znalezienia tekstów w plikach. Możliwe jest użycie zarówno wbudowanych narzędzi, jak i aplikacji z 3-stronniczymi. Sprawdź, jak znaleźć teksty w plikach w Linux.

Znalezienie tekstu w plikach

W zależności od liczby plików, które musisz przeprowadzić, istnieją dwa sposoby wyszukiwania tekstu: zautomatyzowane lub ręczne. Jeśli musisz pracować z kilkoma plikami tekstowymi, ręczne wyszukiwanie jest bardziej odpowiednie. Jeśli jednak istnieją setki plików tekstowych, zautomatyzowane wyszukiwanie jest najbardziej wydajne.

Do zautomatyzowanego wyszukiwania będziemy używać GREP. Grep jest wstępnie zainstalowany na dowolnym dystrybucji Linux. Jeśli chodzi o ręczne wyszukiwanie, każdy nowoczesny edytor tekstu wykona zadanie.

Znajdź tekst w plikach za pomocą GREP

W Linux GREP jest domyślnym narzędziem do wyszukiwania tekstów. Jego nazwa pochodzi z polecenia ED G/re/P, które oznacza „Globalnie wyszukiwanie wyrażenia regularnego i wierszy dopasowania drukowania.„Jest dostępny na dowolnym nowoczesnym Distro Linux.

GREP to narzędzie wiersza poleceń. Jego struktura poleceń jest następująca.

$ grep

Jak sugeruje nazwa GREP, wzorzec wyszukiwania jest opisany przy użyciu wyrażenia regularnego. Wyrażenie regularne jest specjalnym typem ciągu, który opisuje wzór dopasowywania, zlokalizowania i zarządzania. Aby dowiedzieć się więcej o GREP i wyrażeniu regularnym, sprawdź za pomocą GREP i EGREP z wyrażeniem regularnym.

Do celów demonstracyjnych weź przykładowy plik tekstowy. W tym przykładzie pobierz ogólną licencję publiczną GNU V3.0 Plik tekstowy.

Podstawowe szukanie

Podstawowym sposobem korzystania z GREP jest wyszukiwanie podstawowego ciągu.

Spójrz na następujące polecenie GREP. Wyszukuje słowo „GNU” w pliku tekstowym.

$ grep „gnU” GPL-3.0.tekst

Aby pokazać numer linii, użyj flagi „-n”.

$ grep -n „gnU” GPL -3.0.tekst

Aby przeprowadzić wyszukiwanie wrażliwe na przypadek za pomocą GREP, użyj flagi „-i”.

$ grep -ni „gnU” GPL -3.0.tekst

Możesz nie chcieć zobaczyć dopasowań wyszukiwania, ale tylko nazwa pliku, w której mecz miał miejsce w niektórych sytuacjach. Aby wydrukować tylko nazwę pliku, użyj flagi „-L”. Tutaj gwiazdka oznacza, że ​​używa wszystkich plików tekstowych w bieżącym katalogu.

$ grep -l „gnU” *

Możemy również złożyć wyjście innych poleceń do GREP.

$ CAT GPL-3.0.txt | grep -n „gnU”

Wyrażenie regularne

Regex oferuje inteligentny sposób dostrajania wyszukiwania. Ma swoje własne zasady. Jednak różne aplikacje i języki programowania wdrażają wyrażenie regularne inaczej. Oto kilka przykładów, których możesz użyć z GREP.

Aby zdefiniować, że ciąg można znaleźć przy uruchomieniu linii, użyj symbolu CareT (^).

$ grep -n „^gnU” GPL -3.0.tekst

Aby zdefiniować, że ciąg można znaleźć na końcu linii, użyj znaku dolara ($).

$ grep -n „do $” gpl -3.0.tekst

Aby opisać, że może istnieć jakikolwiek charakter w określonej lokalizacji wzoru, użyj znaku okresu (.). Na przykład wyrażenie „g.U ”jest ważny, jeśli istnieje jakikolwiek charakter między„ g ”a„ u ”.

$ grep -n „g.U ”GPL-3.0.tekst

Aby opisać, że może istnieć podzbiór znaków w określonym miejscu wzoru, użyj nawiasów ([]). Na przykład wyrażenie „t [wo] o” mówi, że dopasowanie jest ważne tylko dla „dwóch” i „zbyt”.

$ grep -n „t [wo] o” gpl -3.0.tekst

Rozszerzona ekspresja regularna

Jak sama nazwa wskazuje, rozszerzone wyrażenie regularne może robić bardziej złożone rzeczy niż podstawowe wyrażenia regularne. Aby użyć rozszerzonego wyrażenia regularnego z GREP, musisz użyć flagi „-e”.

$ grep -Ne

Aby wyszukiwać dwa różne ciągi, użyj operatorów OR (|).

$ grep -Ne „GNU | General | licencja” GPL -3.0.tekst

Znalezienie tekstu w plikach

Teraz przychodzi główna część. Zamiast ręcznie mówić Grep plik do przeprowadzenia wyszukiwania, GREP może to zrobić automatycznie. W poniższym poleceniu GREP użyje wszystkich dostępnych plików tekstowych w bieżącym katalogu do wyszukiwania wzoru.

$ grep *

Jeśli chcesz GREP, aby przeprowadzić wyszukiwanie w innym katalogu, musisz określić lokalizację.

$ grep

Jeśli istnieją foldery, Grep nie bada ich domyślnie. Aby powiedzieć Grep, aby przeszukiwał rekursywnie, użyj flagi „-R”.

$ grep -nr

Grep Gui

Jeśli wolisz pracować z GUI, ale nadal chcesz cieszyć się funkcjami Grep, sprawdź SearchMonkey. To rozwiązanie front-end dla GREP. Pakiet jest dostępny na prawie wszystkich głównych dystrybucjach Linux.

Znajdź tekst w plikach za pomocą Nano

GNU Nano to prosty i potężny edytor tekstu, który jest wyposażony w dowolną dystrybucję Linux. Ma wbudowane funkcje do wyszukiwania tekstu w pliku tekstowym.

Zauważ, że w tej metodzie musisz otworzyć plik tekstowy i wyszukać ręcznie. Jest wykonalne, jeśli istnieje tylko garść plików tekstowych do pracy. Jeśli jest więcej, to używanie GREP jest najbardziej optymalnym wyborem.

Otwórz plik tekstowy w nano.

$ nano

Aby wyszukać dopasowanie ciągów, naciśnij „Ctrl + W”. Po wpisaniu ciągu do wyszukiwania, naciśnij „Enter”.

Znajdź tekst w plikach za pomocą VIM

VIM jest znanym i renomowanym edytorem tekstu. Jest to odpowiednik wiersza polecenia współczesnego edytora tekstu. VIM jest wyposażony w wiele zaawansowanych funkcji, takich jak wtyczki, makra, automatyczne uzupełnienie, filtry itp.

Podobnie jak Nano, Vim pracuje z jednym plikiem na raz. Jeśli masz wiele plików tekstowych, używanie GREP jest najbardziej optymalnym sposobem na przejście.

Aby wyszukać w pliku tekstowym, najpierw otwórz go w VIM.

$ vim

Wprowadź następujące polecenie VIM i naciśnij „Enter”.

$:/

Znajdź tekst w plikach za pomocą edytora tekstu GNOME

Edytor tekstu GNOME to edytor tekstu, który jest wyposażony w komputer gnome. To uproszczony edytor tekstu ze wszystkimi podstawowymi funkcjami, których można się spodziewać. To fajna alternatywa dla edytorów tekstu wiersza poleceń.

Podobnie jak Nano i Vim, ta sama ostrożność dotyczy tej metody. Jeśli liczba plików tekstowych jest duża, lepiej trzymaj się GREP.

Otwórz plik tekstowy w edytorze tekstu. Naciśnij „Ctrl + F”, aby wyświetlić pasek wyszukiwania.

Znajdź tekst w plikach za pomocą kodu VS

Visual Studio Code to potężny edytor tekstu z mnóstwem funkcji. Jest zoptymalizowany, aby programiści byli używani tak, jakby było to pełnoprawne IDE. Jest dostępny na prawie wszystkich głównych dystrybucjach Linux.

Zainstaluj pakiet Snap Code Code Code.

$ sudo snap kod instalacji -klasyczny

Otwórz plik tekstowy w kodzie VS. Naciśnij „Ctrl + F”, aby rozpocząć wyszukiwanie.

Końcowe przemyślenia

Istnieje wiele sposobów wyszukiwania tekstu w plikach. To łatwe zadanie do opanowania. Zdecydowanie zaleca się opanowanie polecenia GREP, ponieważ oferuje najwięcej wartości pod względem wydajności i łatwości użytkowania.

Jeśli wolisz GUI, do wyboru jest wielu redaktorów tekstowych. Każdy nowoczesny edytor tekstu zapewni opcję wyszukiwania tekstu.

Szczęśliwy komputer!