Pretražite nizove ili obrasce u običnom tekstu s terminala

o pretraživanju nizova ili obrazaca

U sljedećem članku ćemo vidjeti neke Alati naredbenog retka koji se koriste za pronalaženje odgovarajućih nizova ili obrazaca unutar tekstualnih datoteka. Ovi se alati obično koriste zajedno s regularnim izrazima, skraćeno kao REGEX, koji su jedinstveni nizovi koji opisuju obrazac pretraživanja.

Regularni izrazi su obrasci koji se koriste za pronalaženje određene kombinacije znakova unutar tekstualnog niza. Regularni izrazi pružaju vrlo fleksibilan način pretraživanja ili prepoznavanja tekstualnih nizova. Iako u sljedećim redovima nećemo vidjeti regularne izraze, koristit ćemo uzorke ili nizove.

Potražite nizove ili obrasce s terminala

Grep naredba

Grep je skraćenica za Globalni ispis redovnog izraza. Ovo je moćan alat naredbenog retka koji je koristan kada se traži određeni niz ili obrazac u datoteci. Sa grep moći ćemo koristiti širok spektar funkcija, poput onih koje nam je kolega maloprije objasnio na ovom blogu.

Sintaksa korištenja grep naredbe je prilično jednostavna:

grep PATRON [RUTA AL ARCHIVO]

Na primjer, za traženje niza 'Ubuntu'u datoteci koju ćemo u ovom primjeru nazvati text.txt, ne uzimajući u obzir razliku između velikih i malih slova, u terminalu (Ctrl + Alt + T) trebat ćemo izvršiti samo naredbu:

grep -i tekst

grep -i Ubuntu texto.txt

Komanda sed

Žeđ je kratica za Uređivač toka. To je još jedan koristan alat za terminal pomoću kojeg možemo manipulirati tekstom u datoteci. Sed pretražuje, filtrira i zamjenjuje nizove u datoj datoteci.

Naredba sed po zadanom ispisuje izlaz u STDOUT (Standardni izlaz). To podrazumijeva da se rezultat izvršenja ispisuje na terminalu umjesto da se spremi u datoteku.

Naredba Sed može se koristiti na sljedeći način:

sed -OPCIONES COMANDO [RUTA AL ARCHIVO]

Na primjer, za zamjenu svih pojava 'Linux'u tekstu'Linux', naredba za upotrebu bila bi sljedeća:

Komanda sed

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

Ako je ono što tražimo preusmjerite izlaz u datoteku, umjesto da ga ispisujete na terminal, koristit ćemo znak preusmjeravanja na sljedeći način:

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

Izlaz naredbe sprema se u datoteku output.txt umjesto da se štampa na ekranu.

sed naredba izlaz

Možete vidjeti više opcija konsultujte stranice sa uputstvima:

čovjek žedan

man sed

ack

Ack je brzi alat naredbenog retka napisan na Perlu. Smatra se prijateljskom zamjenom za uslužni program grep, što takođe daje rezultate na vizuelno atraktivan način.

para install ack u našem sustavu ćemo morati izvršiti u terminalu (Ctrl + Alt + T):

install ack

sudo apt install ack

Naredba Ack pretražuje datoteku ili direktorij za redove koji sadrže podudaranje kriterija pretraživanja. Zatim označite odgovarajući niz. Ovaj alat ima mogućnost razlikovanja datoteka na osnovu njihovih ekstenzija.

Sintaksa naredbe Ack bila bi otprilike sljedeća

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

Na primjer, za pretragu pojma Linux u datoteci bismo morali izvršiti:

command ack search

ack Linux texto.txt

Alat za pretraživanje je prilično pametan i ako korisnik ne dostavi nijednu datoteku ili direktorij, pretražuje u trenutnom direktoriju i poddirektorijima obrazac pretrage.

U sljedećem primjeru nije navedena datoteka ili direktorij. Ack automatski otkriva dostupnu datoteku u direktorijumu i traži odgovarajući obrazac:

ack pretraga bez datoteke

ack Linux

ripgrep

ripgrep je pomoćni program za više platformi za traženje obrazaca regularnih izraza. Brži je od svih gore spomenutih alata za pretraživanje i rekurzivno pretražuje direktorijume za pronalaženje odgovarajućih obrazaca. Omogućuje vam i pretraživanje određenih vrsta datoteka. Prema zadanim postavkama, ripgrep će preskočiti binarne datoteke i skrivene datoteke / direktorije.

para instalirati ripgrep na sistemu, sve što morate učiniti je pokrenuti sljedeću naredbu u terminalu (Ctrl + Alt + T):

instalacija ripgrepa

sudo apt install ripgrep

Sintaksa za upotrebu ripgrepa prilično je jednostavna:

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

Ako bismo željeli tražiti lanac 'Linux'u datotekama smještenim u trenutnom direktoriju, morat ćemo izvršiti samo naredbu:

manrg linux

rg Linux

Da bi vidjeli više opcija, korisnici mogu koristiti man pages:

man rg

man rg

Srebrni pretraživač

para instalirajte ovaj alat, u Ubuntuu ćemo morati otvoriti samo terminal (Ctrl + Alt + T) i napisati naredbu:

instalacija silversearcher-ag

sudo apt install silversearcher-ag

Silver Searcher je alat za pretraživanje s otvorenim kodom na više platformi, sličan acku, ali s naglaskom na brzini. Olakšava pronalaženje određenog niza u datotekama u najkraćem mogućem roku. Sintaksa koja bi se koristila bila bi:

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

Na primjer, za pretraživanje 'Linux'u Datoteci text.txt, morali bismo u terminal zapisati (Ctrl + Alt + T):

traži sa silversearcher

ag Linux texto.txt

Da bismo vidjeli više opcija, možemo potražiti man pages:

čovjek silversearcher

man ag

Ovo su samo neki od najčešće korištenih alata naredbenog retka za pretraživanje, filtriranje i manipulaciju tekstom u Linuxu.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.