Jak znaleźć tekst w plikach w systemie Linux

How Find Text Files Linux



Dla administratora systemu praca z plikami tekstowymi jest powszechnym zjawiskiem. Może potrzebujesz znaleźć konkretną sekcję ze stosów plików dziennika, aby coś rozwiązać? A może potrzebujesz szybko znaleźć dokument zawierający istotne informacje?

W przypadku Linuksa istnieje wiele metod wyszukiwania tekstów w plikach. Jest to możliwe przy użyciu zarówno wbudowanych narzędzi, jak i aplikacji innych firm. Sprawdź jak znaleźć teksty w plikach w Linuksie.







Znajdowanie tekstu w plikach

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



Do automatycznego wyszukiwania będziemy używać grep. Grep jest preinstalowany w każdej dystrybucji Linuksa. Jeśli chodzi o wyszukiwanie ręczne, każdy nowoczesny edytor tekstu wykona zadanie.



Znajdź tekst w plikach za pomocą grep

W Linuksie grep jest domyślnym narzędziem do wyszukiwania tekstów. Jego nazwa pochodzi od polecenia ed g/re/p, które oznacza globalne wyszukiwanie wyrażenia regularnego i wypisywanie pasujących wierszy. Jest dostępny w dowolnej nowoczesnej dystrybucji Linuksa.





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

$chwyt <opcja> <Wyrażenie regularne> <ścieżka pliku>

Jak sugeruje nazwa grep, wzorzec do wyszukania jest opisany za pomocą wyrażenia regularnego. Wyrażenie regularne to specjalny typ ciągu opisujący wzorzec do dopasowywania, lokalizowania i zarządzania. Aby dowiedzieć się więcej o grep i wyrażeniach regularnych, sprawdź używanie grep i egrep z wyrażeniem regularnym .



W celach demonstracyjnych pobierz przykładowy plik tekstowy. W tym przykładzie pobierz Plik tekstowy GNU General Public License v3.0 .

Podstawowe szukanie

Podstawowym sposobem używania grep jest wyszukiwanie podstawowego ciągu.

Spójrz na następujące polecenie grep. W pliku tekstowym wyszuka słowo GNU.

$chwyt 'GNU ANTYLOPA'LPG-3,0.tekst

Aby wyświetlić numer wiersza, użyj flagi -n.

$chwyt -nGNU gpl-3,0.tekst

Aby przeprowadzić wyszukiwanie bez rozróżniania wielkości liter za pomocą grep, użyj flagi -i.

$chwyt -nignu gpl-3,0.tekst

Możesz nie chcieć widzieć dopasowań wyszukiwania, ale tylko nazwę pliku, w którym dopasowanie miało miejsce w niektórych sytuacjach. Aby wydrukować tylko nazwę pliku, użyj flagi -l. Tutaj gwiazdka oznacza użycie wszystkich plików tekstowych w bieżącym katalogu.

$chwyt -tengnu antylopa*

Możemy również potoku wyjście innych poleceń do grep.

$KotLPG-3,0.tekst| chwyt -nGNU ANTYLOPA

Wyrażenie regularne

Regex oferuje inteligentny sposób na precyzyjne dostrojenie wyszukiwania. Ma swoje własne zasady. Jednak różne aplikacje i języki programowania w różny sposób implementują wyrażenia regularne. Oto kilka przykładów, których możesz użyć z grepem.

Aby określić, że ciąg ma znajdować się na początku wiersza, użyj symbolu karetki (^).

$chwyt -n^ GNU gpl-3,0.tekst

Aby określić, że ciąg ma znajdować się na końcu wiersza, użyj znaku dolara ($).

$chwyt -ndo $ gpl-3,0.tekst

Aby opisać, że w określonym miejscu wzorca może znajdować się dowolny znak, użyj znaku kropki (.). Na przykład wyrażenie G.U jest poprawne, jeśli między G i U znajduje się jakikolwiek znak.

$chwyt -nGU gpl-3,0.tekst

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

$chwyt -nT[Gdzie]o gpl-3,0.tekst

Rozszerzone wyrażenie regularne

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.

$chwyt -urodzić się <rozszerzone_wyrażenie regularne> <plik>

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

$chwyt -urodzić sięGNU ANTYLOPA|ogólny|Licencja gpl-3,0.tekst

Znajdowanie tekstu w plikach

Teraz nadchodzi główna część. Zamiast ręcznie nakazywać grepowi, aby plik wykonał wyszukiwanie, 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 wzorca.

$chwyt <wyrażenie regularne> *

Jeśli chcesz, aby grep wykonał wyszukiwanie w innym katalogu, musisz określić lokalizację.

$chwyt <wyrażenie regularne> <ścieżka katalogu>

Jeśli istnieją foldery, grep domyślnie ich nie eksploruje. Aby nakazać grepowi wyszukiwanie rekurencyjne, użyj flagi -R.

$chwyt -nR <wyrażenie regularne> <ścieżka katalogu>

GUI uchwytu

Jeśli wolisz pracować z graficznym interfejsem użytkownika, ale nadal chcesz korzystać z funkcji grep, sprawdź searchmonkey. To front-endowe rozwiązanie dla grep. Pakiet jest dostępny w prawie wszystkich głównych dystrybucjach Linuksa.

Znajdź tekst w plikach za pomocą nano

GNU Nano to prosty i potężny edytor tekstu, który jest dostarczany z każdą dystrybucją Linuksa. Posiada wbudowane funkcje wyszukiwania tekstu w pliku tekstowym.

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

Otwórz plik tekstowy w nano.

$nano <ścieżka pliku>

Aby wyszukać pasujący ciąg, naciśnij Ctrl + W. Po wpisaniu ciągu do wyszukania naciśnij Enter.

Znajdź tekst w plikach za pomocą Vim

Vim to znany i renomowany edytor tekstu. Jest to odpowiednik nowoczesnego edytora tekstu w wierszu poleceń. Vim jest wyposażony w wiele zaawansowanych funkcji, takich jak wtyczki, makra, autouzupełnianie, filtry itp.

Podobnie jak nano, Vim pracuje z jednym plikiem na raz. Jeśli masz wiele plików tekstowych, najbardziej optymalnym sposobem jest użycie grep.

Aby przeszukać plik tekstowy, najpierw otwórz go w Vimie.

$przyszedłem <ścieżka pliku>

Wpisz następujące polecenie Vima i naciśnij Enter.

$:/<szukany termin>

Znajdź tekst w plikach za pomocą edytora tekstu GNOME

Edytor tekstu GNOME to edytor tekstu dostarczany z pulpitem 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 w przypadku 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ą VS Code

Visual Studio Code to potężny edytor tekstu z mnóstwem funkcji. Jest zoptymalizowany dla programistów do używania tak, jakby był pełnoprawnym IDE. Jest dostępny w prawie wszystkich głównych dystrybucjach Linuksa.

Zainstaluj pakiet przyciągania Visual Studio Code.

$sudopstryknąćzainstalowaćkod--klasyczny

Otwórz plik tekstowy w programie VS Code. 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 ono największą wartość pod względem wydajności i łatwości użytkowania.

Jeśli wolisz GUI, możesz wybierać spośród wielu edytorów tekstu. Każdy nowoczesny edytor tekstu zapewni opcję wyszukiwania tekstu.

Życzymy miłego korzystania z komputera!