Naredba Pipe, Grep i Sort u Linuxu/Unixu s primjerima
Š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 kao ulaz u sljedeći poput cjevovoda. Simbol '|' označava cijev.
Cijevi vam pomažu kombinirati dvije ili više naredbi u isto vrijeme i izvoditi ih uzastopno. Možete koristiti moćne naredbe koje mogu izvršiti 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.
Da biste to izbjegli, možete usmjeriti izlaz naredbe 'cat' na 'less' koji će vam prikazati samo jednu duljinu pomicanja sadržaja.
cat filename | less
Ilustracija bi razjasnila.
Kliknite ovdje ako video nije dostupan
naredbe 'pg' i 'more'
Umjesto 'manje', također možete koristiti.
cat Filename | pg
or
cat Filename | more
Datoteku možete vidjeti u probavljivim dijelovima i pomicati se prema dolje jednostavnim pritiskom tipke enter.
Naredba 'grep'
Pretpostavimo da želite pretražiti određenu informaciju poštanski broj iz tekstualne datoteke.
Možete sami ručno pregledati sadržaj kako biste ušli u trag informacijama. Bolja opcija je korištenje naredbe grep. Skenirati će dokument u potrazi za željenim informacijama i prikazati rezultat u formatu koji želite.
Sintaksa:
grep search_string
Pogledajmo to na djelu –
Ovdje, grep naredba je pretražila datoteku 'uzorak' za niz 'Apple' i 'Eat'.
Uz ovu naredbu mogu se koristiti sljedeće opcije.
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 | Spajanje oba (velika i mala) slova |
-l | Prikazuje samo naziv datoteke s nizom |
Isprobajmo prvu opciju '-ja' na istoj datoteci upotrijebite gore –
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 sortiranje sadržaja datoteke po abecedi.
Sintaksa ove naredbe je:
sort Filename
Razmotrite sadržaj datoteke.
Pomoću naredbe sort
Postoje ekstenzije na ovu naredbu također, a oni su navedeni u nastavku.
opcija | funkcija |
---|---|
-r | Reverses sortiranje |
-n | Razvrstava brojčano |
-f | Razvrstavanje bez obzira na velika i mala slova |
Primjer ispod prikazuje obrnuto sortiranje sadržaja u datoteci 'abc'.
Što je filtar?
Linux ima puno filterskih naredbi kao što su awk, grep, sed, spell i wc. Filtar uzima ulazne podatke iz jedne naredbe, vrši određenu obradu i daje izlazne podatke.
Kada usmjerite dvije naredbe, "filtrirani" izlaz prve naredbe daje se sljedećoj.
Shvatimo ovo uz pomoć primjera.
Imamo sljedeću datoteku 'uzorak'
Želimo istaknuti samo retke koji ne sadrže znak 'a', ali rezultat treba biti obrnutim redoslijedom.
Za to se može koristiti sljedeća sintaksa.
cat sample | grep -v a | sort - r
Pogledajmo rezultat.
Sažetak:
- Cijevi '|' poslati izlaz jedne naredbe kao ulaz druge naredbe.
- Filtar uzima unos iz jedne naredbe, vrši neku obradu i daje izlaz.
- Naredba grep može se koristiti za pronalaženje nizova i vrijednosti u tekstualnom dokumentu
- Cjevovod kroz grep mora biti jedna od najčešćih upotreba
- Naredba 'sort' sortira sadržaj datoteke po abecedi
- Naredbe less ,pg i more koriste se za dijeljenje dugačke datoteke u čitljive bitove