Naredba Pipe, Grep i Sort u Linuxu/Unixu s primjerima
โก Pametni saลพetak
Naredbe pipe, grep i sort u Linuxu i Unixu ulanฤavaju i filtriraju tekst: pipe prenosi izlaz jedne naredbe u sljedeฤu, grep traลพi uzorke, a sort slaลพe retke, dok filteri transformiraju podatke izmeฤu njih.

Cijevi, grep i sort su meฤu najฤeลกฤe koriลกtenim alatima na Linux naredbenog retka, jer vam omoguฤuju povezivanje malih naredbi u jedan moฤan tijek rada. Ova stranica objaลกnjava svaku od njih s raฤenim primjerima, a zatim pokazuje kako ih filteri povezuju.
ล to je cijev u Linuxu?
Pipe je naredba u Linuxu koja vam omoguฤuje koriลกtenje dvije ili viลกe naredbi tako da izlaz jedne naredbe sluลพi kao ulaz za sljedeฤu. Ukratko, izlaz svakog procesa izravno se unosi kao ulaz u sljedeฤi, poput cjevovoda. Simbol '|' oznaฤava cijev.
Cijevi vam pomaลพu da istovremeno spojite dvije ili viลกe naredbi i pokrenete ih uzastopno. Moลพete koristiti moฤne naredbe koje izvrลกavaju sloลพene zadatke u tren oka.
Shvatimo ovo na primjeru.
Kada koristite naredbu 'cat' za pregled datoteke koja se proteลพe na viลกe stranica, upit brzo skaฤe na posljednju stranicu datoteke i ne vidite sadrลพaj u sredini.
Kako biste to izbjegli, moลพete proslijediti izlaz naredbe 'cat' na 'less', ลกto vam prikazuje samo jednu duljinu pomicanja sadrลพaja odjednom.
cat filename | less
Ilustracija bi to razjasnila. Dijagram ispod prikazuje kako cijev prenosi izlaz jedne naredbe u sljedeฤu.
naredbe 'pg' i 'more'
Umjesto 'less', moลพete koristiti i naredbu pg ili more:
cat Filename | pg
or
cat Filename | more
Zatim moลพete pregledati datoteku u probavljivim dijelovima i pomicati se prema dolje jednostavnim pritiskom na tipku Enter. Snimka zaslona u nastavku prikazuje datoteku podijeljenu u stranice naredbom more.
Naredba 'grep'
Pretpostavimo da ลพelite pretraลพiti odreฤene informacije, poput poลกtanskog broja, u tekstualnoj datoteci.
Sadrลพaj moลพete ruฤno pregledati sami tracinformacije. Bolja opcija je koristiti grep naredba. Skenira dokument u potrazi za ลพeljenim informacijama i prikazuje rezultat u ลพeljenom formatu.
Sintaksa:
grep search_string
Pogledajmo to u akciji. Snimka zaslona u nastavku prikazuje rezultat pretraลพivanja.
Ovdje je naredba grep pretraลพila datoteku 'sample' za nizove 'Apple' i 'Eat'. Sljedeฤe opcije mogu se koristiti s ovom naredbom.
| opcija | funkcija |
|---|---|
| -v | Prikazuje sve retke koji ne odgovaraju traลพenom nizu |
| -c | Prikazuje samo broj odgovarajuฤih redaka |
| -n | Prikazuje odgovarajuฤu liniju i njen broj |
| -i | Podudara se i s velikim i s malim slovima |
| -l | Prikazuje samo naziv datoteke s nizom |
Pokuลกajmo s opcijom '-i' na istoj datoteci koja je gore koriลกtena. Snimka zaslona u nastavku prikazuje rezultat bez razlikovanja velikih i malih slova.
Koriลกtenjem opcije '-i', grep je filtrirao niz 'a' (neosjetljivo na velika i mala slova) iz svih redaka.
Naredba 'sort'
Ova naredba pomaลพe u sortiranju sadrลพaja datoteke po abecednom redu.
Sintaksa ove naredbe je:
sort Filename
Razmotrimo sadrลพaj datoteke, prikazane s maฤkom ispod.
Pokretanjem naredbe sort te retke se sortiraju abecednim redom, kao ลกto je prikazano dolje.
Postoje i proลกirenja za ovu naredbu, a navedena su u nastavku.
| opcija | funkcija |
|---|---|
| -r | Reversesortiranje |
| -n | Razvrstava brojฤano |
| -f | Sortiranje bez razlikovanja velikih i malih slova |
Primjer ispod prikazuje obrnuto sortiranje sadrลพaja u datoteci 'abc'.
ล to je filtar?
Linux ima mnogo naredbi za filtriranje kao ลกto su awk, grep, sed, spell i wc. Filter uzima ulaz iz jedne naredbe, obavlja odreฤenu obradu i daje izlaz.
Kada proslijedite dvije naredbe putem cjevovoda, 'filtrirani' izlaz prve naredbe daje se sljedeฤoj. Dijagram u nastavku ilustrira kako se filtar uklapa u cjevovod.
Razumijemo ovo uz pomoฤ primjera. Imamo sljedeฤu datoteku 'primjer', prikazanu s oznakom maฤka ispod.
ลฝelimo oznaฤiti samo retke koji ne sadrลพe znak 'a', ali rezultat bi trebao biti u obrnutom redoslijedu. Za to se moลพe koristiti sljedeฤa sintaksa:
cat sample | grep -v a | sort -r
Pogledajmo rezultat, prikazan na snimci zaslona ispod.







.png)
.png)

