6 Najlepsze narzędzia CLI do wyszukiwania danych zwykłego tekstu za pomocą wyrażeń regularnych
- 1436
- 151
- Laura Zygmunt
Ten przewodnik odbywa się po jednych z najlepszych narzędzi wiersza poleceń, które są używane do wyszukiwania pasujących ciągów lub wzorów w plikach tekstowych. Narzędzia te są zwykle używane obok wyrażeń regularnych - skrócone jako Regex - które są unikalnymi ciągami do opisu wzorca wyszukiwania.
Bez zbyt więcej ceregieli, zanurkujmy.
1. Polecenie GREP
Po pierwsze, narzędzie Grep Utility - jest akronimem dla Globalny wydruk ekspresji regularnej, jest potężnym narzędziem wiersza poleceń, które przydaje się podczas wyszukiwania określonego ciągu lub wzoru w pliku.
Grep Domyślnie wysyła nowoczesne rozkłady Linux i daje elastyczność w zwracaniu różnych wyników wyszukiwania. Dzięki GREP możesz wykonać szeroki wachlarz funkcjonowania, na przykład:
- Wyszukaj ciągi lub pasujące wzorce w pliku.
- Wyszukaj ciągi lub pasujące wzorce w plikach gzipped.
- Policz liczbę dopasowań łańcuchowych.
- Wydrukuj numery linii zawierające ciąg lub wzór.
- Wyszukaj rekurencyjnie w sprawie ciągu w katalogach.
- Wykonaj wyszukiwanie odwrotne (ja.mi. Wyświetl wyniki ciągów, które nie są zgodne z kryteriami wyszukiwania).
- Zignoruj wrażliwość na przypadki podczas wyszukiwania ciągów.
Składnia do używania Grep Polecenie jest dość proste:
Plik wzoru $ grep
Na przykład, aby wyszukać ciąg 'Linux„W pliku powiedzmy, Witam.tekst Ignorując wrażliwość przypadków, uruchom polecenie:
$ grep -i linux hello.tekstWyszukaj ciąg w pliku
Aby uzyskać więcej opcji, z którymi możesz użyć Grep, Po prostu przeczytaj nasz artykuł, który przykładuje bardziej zaawansowane przykłady poleceń GREP.
2. polecenie sed
Sed - skrót Edytor strumienia - to kolejne przydatne narzędzie wiersza poleceń do manipulacji tekstem w pliku tekstowym. SED wyszukuje, filtry i zastępuje ciągami w danym pliku w sposób nieinteraktywny.
Domyślnie, sed polecenie drukuje wyjście do Stdout (Standard), sugerując, że wynik wykonania jest wydrukowany na terminalu zamiast zapisywać w pliku.
Polecenie SED jest wywoływane w następujący sposób:
$ sed -options polecenie [plik do edytowania]
Na przykład, aby zastąpić wszystkie instancje 'UNIX' z 'Linux', przywołaj polecenie:
$ sed 's/unix/linux' hello.tekstWymień ciąg w pliku
Jeśli chcesz przekierować wyjście zamiast drukować na terminalu, użyj znaku przekierowania (>)
jak pokazano.
$ sed 's/unix/linux' hello.txt> wyjście.tekstPrzekieruj wyjście do pliku
Wyjście polecenia jest zapisane do wyjście.tekst Plik zamiast drukować na ekranie.
Aby sprawdzić więcej opcji, których można użyć, ponownie sprawdź strony Man.
$ man sed
3. Polecenie ACK
Ack jest szybkim i przenośnym narzędziem wiersza poleceń napisanego w Perl. Ack jest uważany za przyjazny zamiennik Grep narzędzie a wyniki powodują atrakcyjny wizualnie sposób.
Ack Polecenie wyszukuje plik lub katalog linii zawierających dopasowanie do kryteriów wyszukiwania. Następnie podkreśla pasujący ciąg w wierszach.
Ack ma zdolność rozróżniania plików na podstawie rozszerzeń plików i do pewnego stopnia treści w plikach.
Składnia polecenia ACK:
$ ack [opcje] wzór [plik…] $ ack -f [opcje] [Directory…]
Na przykład, aby sprawdzić wyszukiwany termin Linux, uruchomić:
$ ack Linux Hello.tekstSprawdź ciąg w pliku
Narzędzie wyszukiwania jest dość inteligentne i jeśli użytkownik nie dostarcza żadnego pliku lub katalogu, wyszukuje bieżące katalog i podwodniki dla wzorca wyszukiwania.
W poniższym przykładzie nie podano żadnego pliku ani katalogu, ale ACK automatycznie wykrył dostępny plik i wyszukiwał podany wzorzec dopasowania.
$ ack LinuxWyszukaj ciąg w katalogu
Żeby zainstalować Ack W twoim systemie uruchom polecenie:
$ sudo apt Zainstaluj ack-Grep [na debian/ubuntu] $ sudo dnf instaluj ack-Grep [na centos/rhel]
4. Polecenie AWK
Awk jest w pełni wykładanym językiem skryptowym, a także narzędziem przetwarzania tekstu i manipulacji danymi. Wyszukuje pliki lub programy zawierające wzór wyszukiwania. Po znalezieniu ciągu lub wzoru, Awk podejmuje działania na meczu lub linii i drukuje wyniki Stdout.
Awk Wzór jest zamknięty między kręconymi klamrami, podczas gdy cały program jest zamknięty w pojedynczych cytatach.
Weźmy najprostszy przykład. Załóżmy, że drukujesz datę swojego systemu, jak pokazano:
$ dataSprawdź datę systemu Linux
Załóżmy, że chcesz wydrukować tylko pierwszą wartość, czyli dzień tygodnia. W takim przypadku wbij wyjście do Awk jak pokazano:
$ data | awk 'drukuj 1 $'
Aby wyświetlić kolejne wartości, oddziel je za pomocą przecinka, jak pokazano:
$ data | awk 'drukuj 1 $, 2 $
Powyższe polecenie wyświetli dzień tygodnia i datę miesiąca.
Przykłady polecenia AWKAby uzyskać więcej opcji, z którymi możesz użyć Awk, Po prostu przeczytaj naszą serię poleceń AWK.
5. Srebrny wyszukiwarka
Srebrny wyszukiwarka to narzędzie wyszukiwania kodu międzyplatformowego i openomourcowego podobnego do Ack Ale z naciskiem na prędkość. Ułatwia to wyszukiwanie określonego ciągu w plikach w możliwie najkrótszym czasie:
Składnia:
$ Ag Options Search_Pattern/ścieżka/do/pliku
Na przykład, aby wyszukać ciąg 'Linux„W pliku Witam.tekst wywołać polecenie:
$ ag linux hello.tekstZnajdź ciąg w pliku
Aby uzyskać dodatkowe opcje, odwiedź strony Man:
$ man ag
6. Ripgrep
Wreszcie mamy narzędzie wiersza polecenia RipGrep. Ripgrep jest narzędziem międzyplatformowym do wyszukiwania wzorców wyrabiania regularnego. Jest znacznie szybszy niż wszystkie wcześniej wspomniane narzędzia wyszukiwania i rekurencyjnie wyszukuje katalogi w celu dopasowania wzorców. Jeśli chodzi o szybkość i wydajność, żadne inne narzędzie to nie wyróżnia Ripgrep.
Domyślnie, Ripgrep pomiń pliki binarne/ukryte pliki i katalogi. Należy również poinformować, że domyślnie nie będzie wyszukiwać plików, które są ignorowane przez .Gitignore/.ignorować/.RGIGNORE akta.
Ripgrep pozwala także wyszukiwać określone typy plików. Na przykład, aby ograniczyć wyszukiwanie JavaScript Pliki uruchamiają:
$ rg -tsj
Składnia do używania RIPGREP jest dość łatwa:
$ rg [opcje] wzór [ścieżka…]
Na przykład. Aby wyszukać instancje ciągu „Linux” W plikach znajdujących się w bieżącym katalogu uruchom polecenie:
$ RG LinuxWyszukaj ciąg w plikach
Żeby zainstalować Ripgrep W systemie uruchom następujące polecenia:
$ sudo apt instal ripgrep [on Debian/Ubuntu] $ sudo pacman -s ripgrep [on Arch Linux] $ sudo zyper instaluj ripgrep [on OpenSuse] $ sudo dnf instaluj ripgrep [on Centos/Rhel/Fedora]
Aby uzyskać dodatkowe opcje, odwiedź strony Man:
$ man rg
Są to niektóre z najczęściej używanych narzędzi wiersza polecenia do wyszukiwania, filtrowania i manipulowania tekstem w Linux. Jeśli masz inne narzędzia, które uważamy za pominięte, daj nam znać w sekcji komentarzy.
- « Tilix - nowy emulator zacisku kafelkowego GTK 3 dla Linux
- Jak zainstalować Pop!_OS na twoim komputerze »