Wyszukaj ciągi lub wzorce w zwykłym tekście z terminala

o wyszukiwaniu ciągów lub wzorców

W następnym artykule zobaczymy kilka narzędzia wiersza polecenia używane do znajdowania pasujących ciągów lub wzorców w plikach tekstowych. Te narzędzia są zwykle używane w połączeniu z wyrażeniami regularnymi, w skrócie REGEX, które są unikatowymi ciągami opisującymi wzorzec wyszukiwania.

Wyrażenia regularne to wzorce używane do znajdowania określonej kombinacji znaków w ciągu tekstowym. Wyrażenia regularne zapewniają bardzo elastyczny sposób wyszukiwania lub rozpoznawania ciągów tekstowych. Chociaż w kolejnych wierszach nie zobaczymy wyrażeń regularnych, użyjemy wzorców lub łańcuchów.

Wyszukaj ciągi lub wzory z terminala

Polecenie Grep

Grep to skrót od Wydruk globalnych wyrażeń regularnych. Jest to potężne narzędzie wiersza poleceń, przydatne podczas wyszukiwania określonego ciągu lub wzorca w pliku. Z grep będziemy mogli korzystać z szerokiego wachlarza funkcji, takich jak te, które jakiś czas temu wyjaśnił nam kolega na tym blogu.

Składnia użycia polecenia grep jest dość prosta:

grep PATRON [RUTA AL ARCHIVO]

Na przykład, aby wyszukać ciąg „Ubuntu'w pliku, który w tym przykładzie będziemy wywoływać text.txt, bez rozróżnienia między dużymi i małymi literami, w terminalu (Ctrl + Alt + T) będziemy musieli tylko wykonać polecenie:

grep -i text

grep -i Ubuntu texto.txt

Polecenie sed

Pragnienie jest skrótem od Edytor strumieni. Jest to kolejne przydatne narzędzie dla terminala, za pomocą którego możemy manipulować tekstem w pliku. Sed wyszukuje, filtruje i zamienia łańcuchy w podanym pliku.

Polecenie sed domyślnie drukuje dane wyjściowe w formacie STDOUT (Wyjście standardowe). Oznacza to, że wynik wykonania jest drukowany na terminalu, a nie zapisywany w pliku.

Polecenia Sed można używać w następujący sposób:

sed -OPCIONES COMANDO [RUTA AL ARCHIVO]

Na przykład, aby zamienić wszystkie wystąpienia „Linux„w tekście autorstwa”Linux', polecenie do użycia byłoby następujące:

Polecenie sed

sed 's/Linux/GnuLinux/g' texto.txt

Jeśli to, czego szukamy, to przekieruj wyjście do pliku zamiast drukowania go na terminalu, użyjemy znaku przekierowania w następujący sposób:

sed 's/Linux/GnuLinux/g' texto.txt > salida.txt

Dane wyjściowe polecenia są zapisywane w pliku output.txt zamiast drukować na ekranie.

wyjście polecenia sed

Aby zobaczyć więcej opcji, możesz zajrzyj na strony podręcznika man:

człowiek spragniony

man sed

Potw

Ack to szybkie narzędzie wiersza poleceń napisane w Perlu. Jest uważany za przyjazny zamiennik narzędzia grep, co również generuje efekty w atrakcyjny wizualnie sposób.

do zainstaluj ACK w naszym systemie będziemy musieli wykonać w terminalu (Ctrl + Alt + T):

zainstaluj ACK

sudo apt install ack

Polecenie Ack przeszukuje plik lub katalog w poszukiwaniu wierszy zawierających dopasowanie dla kryteriów wyszukiwania. Następnie zaznacz odpowiedni ciąg. To narzędzie ma możliwość rozróżniania plików na podstawie ich rozszerzeń.

Składnia polecenia Ack wyglądałaby następująco

ack [OPCIONES] PATRÓN [RUTA AL ARCHIVO]

Na przykład, aby wyszukać termin Linux w pliku musielibyśmy wykonać:

wyszukiwanie poleceń ACK

ack Linux texto.txt

Narzędzie wyszukiwania jest całkiem sprytne i jeśli użytkownik nie dostarczy żadnych plików lub katalogów, przeszukuje bieżący katalog i podkatalogi w poszukiwaniu wzorca wyszukiwania.

W poniższym przykładzie nie podano żadnego pliku ani katalogu. Ack automatycznie wykrywa dostępny plik w katalogu i szuka pasującego wzorca:

wyszukiwanie zwrotne bez pliku

ack Linux

ripgrep

ripgrep to wieloplatformowe narzędzie do wyszukiwania wzorców wyrażeń regularnych. Jest szybszy niż wszystkie wymienione powyżej narzędzia wyszukiwania i rekurencyjnie przeszukuje katalogi pod kątem pasujących wzorców. Umożliwia także wyszukiwanie określonych typów plików. Domyślnie ripgrep pominie pliki binarne i ukryte pliki / katalogi.

do zainstaluj ripgrep w systemie wystarczy uruchomić w terminalu następujące polecenie (Ctrl + Alt + T):

instalacja ripgrep

sudo apt install ripgrep

Składnia używania ripgrep jest dość prosta:

rg [OPCIONES] PATRÓN [RUTA AL ARCHIVO]

Gdybyśmy chcieli poszukać łańcucha ”Linux'w plikach znajdujących się w bieżącym katalogu będziemy musieli tylko wykonać polecenie:

człowiek rg linux

rg Linux

Aby zobaczyć więcej opcji, użytkownicy mogą użyć strony man:

mężczyzna

man rg

Poszukiwacz srebra

do zainstaluj to narzędzie, w Ubuntu będziemy musieli tylko otworzyć terminal (Ctrl + Alt + T) i napisać polecenie:

instalacja Silversearcher-AG

sudo apt install silversearcher-ag

Silver Searcher to wieloplatformowe narzędzie wyszukiwania typu open source, podobne do ACK, ale z naciskiem na szybkość. Ułatwia znalezienie określonego ciągu w plikach w jak najkrótszym czasie. Składnia, której należy użyć, wyglądałaby następująco:

ag OPCIONES PATRÓN_DE_BÚSQUEDA /ruta/al/archivo

Na przykład, aby wyszukać „Linux' w pliku text.txt, musielibyśmy napisać w terminalu (Ctrl + Alt + T):

szukaj za pomocą silversearcher

ag Linux texto.txt

Aby zobaczyć więcej opcji, zapoznaj się z strony man:

człowiek srebrzysty

man ag

To tylko niektóre z najczęściej używanych narzędzi wiersza poleceń do wyszukiwania, filtrowania i manipulowania tekstem w systemie Linux.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.