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!