U sljedećem ćemo članku vidjeti neke Alati naredbenog retka koji se koriste za pronalaženje odgovarajućih nizova ili uzoraka 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 tekstnih nizova. Iako u sljedećim redovima nećemo vidjeti regularne izraze, koristit ćemo uzorke ili nizove.
Potražite nizove ili uzorke s terminala
Naredba Grep
Grep je kratica za Ispis globalnog regularnog izraza. Ovo je moćan alat naredbenog retka koji je koristan pri traženju određenog niza ili uzorka u datoteci. S grepom moći ćemo koristiti širok raspon funkcija, poput onih koje nam je kolega maloprije objasnio na ovom blogu.
Sintaksa korištenja grep naredbe prilično je 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
Zapovjedništvo sed
Žeđ je kratica za Uređivač streama. 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 IZDAVANJE (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 uporabu 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 kako slijedi:
sed 's/Linux/GnuLinux/g' texto.txt > salida.txt
Izlaz naredbe sprema se u datoteku izlaz.txt umjesto ispisa na ekranu.
Možete vidjeti više opcija konzultirajte stranice s uputama:
man sed
ack
Ack je brzi alat naredbenog retka napisan na Perlu. Smatra se prijateljskom zamjenom za uslužni program grep, koji također generira rezultate na vizualno atraktivan način.
u instalirati ack u našem sustavu morat ćemo izvršiti u terminalu (Ctrl + Alt + T):
sudo apt install ack
Naredba Ack pretražuje datoteku ili direktorij kako bi pronašao retke koji sadrže podudaranje kriterija pretraživanja. Zatim označite odgovarajući niz. Ovaj alat ima mogućnost razlikovanja datoteka na temelju njihovih ekstenzija.
Sintaksa naredbe Ack bila bi otprilike sljedeća
ack [OPCIONES] PATRÓN [RUTA AL ARCHIVO]
Na primjer, za traženje 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 pretraživanja.
U sljedećem primjeru nije navedena datoteka ili direktorij. Ack automatski otkriva dostupnu datoteku u direktoriju i traži odgovarajući obrazac:
ack Linux
ripgrep
ripgrep je pomoćni program na više platformi za traženje uzoraka regularnih izraza. Brži je od svih gore spomenutih alata za pretraživanje i rekurzivno pretražuje direktorije radi pronalaženja 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.
u instalirati ripgrep na sustavu, sve što morate učiniti je pokrenuti sljedeću naredbu u terminalu (Ctrl + Alt + T):
sudo apt install ripgrep
Sintaksa korištenja ripgrepa prilično je jednostavna:
rg [OPCIONES] PATRÓN [RUTA AL ARCHIVO]
Ako bismo željeli potraž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 stranice:
man rg
Srebrni pretraživač
u instalirajte ovaj alatU Ubuntuu trebat ćemo samo otvoriti 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 napisati u terminal (Ctrl + Alt + T):
ag Linux texto.txt
Da bismo vidjeli više opcija, možemo se obratiti man stranice:
man ag
Ovo su samo neki od najčešće korištenih alata naredbenog retka za pretraživanje, filtriranje i manipulaciju tekstom u Linuxu.