Postoje mnoge Linux naredbe i alati koji se koriste za obradu tekstualnih datoteka. Ali postoje trenuci kada ne želite čitati cijeli sadržaj datoteke, već određeni dio. Znate li da možete koristiti naredbe head i tail na Linuxu za ispis početaka i kraja datoteke?

Pročitajte kako biste otkrili kako možete koristiti ove dvije naredbe za učinkovitu obradu i manipuliranje tekstom na Linuxu.

Što je glavna naredba?

Naredba head koristi se za ispis početnih dijelova datoteke. Čita datoteke od početka. Ako imate datoteku koja ima više od tisuću redaka, bilo bi vrlo nezgodno otvoriti je i pročitati. Možete jednostavno samo ispisati nekoliko redaka od vrha pomoću naredbe head.

Sintaksa naredbe head

Osnovna sintaksa naredbe head je:

glava[opcija][datoteka]

Dostupne su mnoge mogućnosti za korištenje uz naredbu head, a o nekima ćemo kasnije raspravljati. Do dobiti pomoć za naredbeni redak što se tiče naredbe head, provjerite njezinu stranicu priručnika pokretanjem:

čovjekova glava

Kako koristiti naredbu head

Za ovaj primjer, stvorite datoteku: brojevi.txt. U datoteci navedite brojeve od jedan do 20 riječima. Možete koristiti bilo koju datoteku po svom izboru, ali pazite da ima najmanje 11 redaka.

Korištenje zadane naredbe za glavu

Prema zadanim postavkama, naredba head ispisuje prvih 10 redaka teksta u datoteci. Isprobajte to s datotekom numbers.txt izvršavanjem ove naredbe na svom terminalu:

glavabrojevima.txt

Ispisat će prvih 10 redaka datoteke:

jedan
dva
tri
četiri
pet
šest
sedam
osam
devet
deset

Ako datoteka ima manje od 10 redaka, naredba head će ispisati sve prisutne retke.

Ispišite prvih N redaka

Možete koristiti naredbu head za ispis određenog broja redaka umjesto zadanih 10. Za ispis prva tri retka datoteke numbers.txt izvršite ovu naredbu:

glava-n 3 brojevima.txt

Rezultat:

jedan
dva
tri

Isključite zadnjih N redaka pomoću naredbe head

Baš kao što možete ispisati prve retke teksta, također možete odlučiti isključiti zadnjih N redaka pri ispisu. To možete učiniti korištenjem negativnog broja za parametar N.

Da biste isključili zadnjih 15 redaka datoteke numbers.txt, pokrenite:

glava-n-15brojevima.txt

Rezultat:

jedan
dva
tri
četiri
pet

Ispišite prvih N znakova datoteke

Naredba head također ima opciju ispisa prvog broja znakova ili bajtova u datoteci. To možete učiniti pomoću -c opcija. Za ispis prvih 10 znakova koristite:

glava-c 10 brojevima.txt

Izlaz:

jedan
dva
th

Što je naredba rep?

Kao što naziv implicira, naredba tail ispisuje posljednje retke datoteke. Čita datoteke od kraja i ispisuje završne retke.

Sintaksa naredbe tail

Osnovna sintaksa naredbe tail je:

rep[opcija][datoteka]

Za više informacija o naredbi tail, provjerite njezinu stranicu priručnika izdavanjem:

 čovjek rep

Kako koristiti naredbu tail

Koristit ćemo već stvorenu datoteku numbers.txt za sljedeće primjere.

Korištenje zadane naredbe tail

Naredba tail ispisuje zadnjih 10 redaka datoteke kada se koristi bez posebnih opcija. Na primjer:

repbrojevima.txt

Izlaz će prikazati zadnjih 10 redaka kao što je spomenuto:

jedanaest
dvanaest
trinaest
četrnaest
petnaest
šesnaest
sedamnaest
osamnaest
devetnaest
dvadeset

Ispišite zadnjih N redaka

U situaciji kada ne želite ispisati zadnjih 10 redaka, već određeni broj, možete koristiti -n mogućnost da se to postigne. Za ispis posljednja četiri retka datoteke numbers.txt izvršite ovu naredbu:

rep-n 4 brojevima.txt

Rezultat:

sedamnaest
osamnaest
devetnaest
dvadeset

Ispis redaka nakon određenog retka

Ako želite krenuti od određene linije N, možete koristiti -n mogućnost uz pozitivan broj da se to postigne. Za ispis datoteke numbers.txt iz 17. retka, izvršite ovu naredbu:

rep-n +17 brojevima.txt

Rezultat:

sedamnaest
osamnaest
devetnaest
dvadeset

Ispis zadnjih N znakova datoteke

Baš kao i naredba head, možete ispisati posljednjih nekoliko znakova u datoteci pomoću -c opcija. Da biste ispisali zadnjih 10 znakova datoteke numbers.txt, izvršite ovu naredbu:

rep-c 10 brojevima.txt

Rezultat:

hr
dvadeset

Korištenje naredbi head i tail s više datoteka

Također možete koristiti glavu i rep za ispis više od jedne datoteke odjednom. Ovo je sintaksa za korištenje naredbi s višestrukim unosima datoteka:

glava[opcija][datoteka1][datoteka2]
rep[opcija][datoteka1][datoteka2]

Zajedno korištenje naredbi glava i rep

Možete čak koristiti glavu i rep u istoj naredbi koristeći simbol cijevi. Simbol cijevi preusmjerava izlaz jedne naredbe kao input drugome.

Na primjer, da biste dobili šesti, sedmi i osmi redak, možete izvršiti ovu naredbu:

glava -n 8 brojeva.txt | rep -n 3

Rezultat:

šest
sedam
osam

U gore spomenutom jednolineru, naredba head prikazala je prvih osam redaka datoteke, zatim izlaz je proslijeđen naredbi tail, koja je ispisala zadnja tri retka preusmjerenog izlaz.

glava i rep: Korisne naredbe za manipulaciju tekstom

Linux nudi puno naredbi koje vam pomažu da učinkovito upravljate i obrađujete tekstualne datoteke, a naredbe head i tail samo su dvije od mnogih. Najčešće naredbe za manipulaciju tekstom uključuju grep, uniq, sort, sed, awk itd. Svaki od njih ispunjava različitu svrhu sa svojim jedinstvenim skupom značajki.

Osim glave i repa, postoji mnoštvo drugih naredbi za upravljanje tekstom i datotekama dostupnih korisnicima Linuxa.