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!