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 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:
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.
Možete vidjeti više opcija konsultujte stranice sa uputstvima:
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):
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:
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 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):
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:
rg Linux
Da bi vidjeli više opcija, korisnici mogu koristiti man pages:
man rg
Srebrni pretraživač
para instalirajte ovaj alat, u Ubuntuu ćemo morati otvoriti samo terminal (Ctrl + Alt + T) i napisati naredbu:
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):
ag Linux texto.txt
Da bismo vidjeli više opcija, možemo potražiti man pages:
man ag
Ovo su samo neki od najčešće korištenih alata naredbenog retka za pretraživanje, filtriranje i manipulaciju tekstom u Linuxu.