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.