6 Najlepsze narzędzia CLI do wyszukiwania danych zwykłego tekstu za pomocą wyrażeń regularnych

6 Najlepsze narzędzia CLI do wyszukiwania danych zwykłego tekstu za pomocą wyrażeń regularnych

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.tekst 
Wyszukaj 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.tekst 
Wymień 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.tekst 
Przekieruj 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.tekst 
Sprawdź 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 Linux 
Wyszukaj 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:

$ data 
Sprawdź 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 AWK

Aby 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.tekst 
Znajdź 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 Linux 
Wyszukaj 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.