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 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:
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.
Aby zobaczyć więcej opcji, możesz zajrzyj na strony podręcznika man:
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):
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ć:
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:
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):
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:
rg Linux
Aby zobaczyć więcej opcji, użytkownicy mogą użyć strony man:
man rg
Poszukiwacz srebra
do zainstaluj to narzędzie, w Ubuntu będziemy musieli tylko otworzyć terminal (Ctrl + Alt + T) i napisać polecenie:
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):
ag Linux texto.txt
Aby zobaczyć więcej opcji, zapoznaj się z strony man:
man ag
To tylko niektóre z najczęściej używanych narzędzi wiersza poleceń do wyszukiwania, filtrowania i manipulowania tekstem w systemie Linux.