Obstaja veliko ukazov in orodij Linuxa, ki se uporabljajo za obdelavo besedilnih datotek. Toda včasih ne želite prebrati celotne vsebine datoteke, temveč njen določen del. Ali veste, da lahko uporabite ukaza head in tail v Linuxu za izpis začetkov oziroma koncev datoteke?
Nadaljujte z branjem in odkrijte, kako lahko uporabite ta dva ukaza za učinkovito obdelavo in obdelavo besedila v sistemu Linux.
Kaj je glavni ukaz?
Ukaz head se uporablja za tiskanje začetnih delov datoteke. Datoteke bere od začetka. Če imate datoteko, ki ima več kot tisoč vrstic, bi bilo odpiranje in branje zelo okorno. Z ukazom head lahko preprosto natisnete le nekaj vrstic od vrha.
Sintaksa ukaza head
Osnovna sintaksa ukaza head je:
glavo[možnost][mapa]
Na voljo je veliko možnosti za uporabo poleg ukaza head, o nekaterih bomo razpravljali kasneje. Za dobite pomoč v ukazni vrstici kar zadeva ukaz head, preverite njegovo priročno stran tako, da zaženete:
človekova glava
Kako uporabljati ukaz head
Za ta primer ustvarite datoteko:
številke.txt. V datoteko z besedami naštejte številke od ena do 20. Uporabite lahko katero koli datoteko po svoji izbiri, vendar se prepričajte, da ima vsaj 11 vrstic.Uporaba privzetega ukaza za glavo
Privzeto ukaz head natisne prvih 10 vrstic besedila v datoteki. Preizkusite z datoteko numbers.txt tako, da v terminalu izvedete ta ukaz:
glavoštevilke.txt
Natisnil bo prvih 10 vrstic datoteke:
eno
dva
tri
štiri
pet
šest
sedem
osem
devet
deset
Če ima datoteka manj kot 10 vrstic, bo ukaz head natisnil vse prisotne vrstice.
Natisnite prvih N vrstic
Z ukazom head lahko natisnete določeno število vrstic namesto privzetih 10. Če želite natisniti prve tri vrstice datoteke numbers.txt, izvedite ta ukaz:
glavo-n 3 številke.txt
Rezultat:
eno
dva
tri
Izključite zadnjih N vrstic z uporabo ukaza head
Tako kot lahko natisnete prve vrstice besedila, se lahko odločite, da boste pri tiskanju izključili zadnjih N vrstic. To lahko storite tako, da za parameter N uporabite negativno število.
Če želite izključiti zadnjih 15 vrstic datoteke numbers.txt, zaženite:
glavo-n-15številke.txt
Rezultat:
eno
dva
tri
štiri
pet
Natisnite prvih N znakov datoteke
Ukaz head ima tudi možnost tiskanja prvega števila znakov ali bajtov v datoteki. To lahko storite z uporabo -c možnost. Če želite natisniti prvih 10 znakov, uporabite:
glavo-c 10 številke.txt
Izhod:
eno
dva
th
Kaj je ukaz za rep?
Kot že ime pove, ukaz tail natisne zadnje vrstice datoteke. Datoteke prebere od konca in izpiše končne vrstice.
Sintaksa ukaza tail
Osnovna sintaksa ukaza tail je:
rep[možnost][mapa]
Za več informacij o ukazu tail preverite njegovo priročno stran z izdajo:
moški rep
Kako uporabljati ukaz rep
Za naslednje primere bomo uporabili že ustvarjeno datoteko numbers.txt.
Uporaba privzetega ukaza tail
Ukaz tail izpiše zadnjih 10 vrstic datoteke, če se uporablja brez posebnih možnosti. Na primer:
repštevilke.txt
Izhod bo prikazal zadnjih 10 vrstic, kot je omenjeno:
enajst
dvanajst
trinajst
štirinajst
petnajst
šestnajst
sedemnajst
osemnajst
devetnajst
dvajset
Natisnite zadnjih N vrstic
V primeru, da ne želite natisniti zadnjih 10 vrstic, ampak določeno številko, lahko uporabite -n možnost, da to dosežete. Če želite natisniti zadnje štiri vrstice datoteke numbers.txt, izvedite ta ukaz:
rep-n 4 številke.txt
Rezultat:
sedemnajst
osemnajst
devetnajst
dvajset
Natisnite vrstice za določeno vrstico
Če želite začeti z določeno vrstico N, lahko uporabite -n možnost poleg pozitivnega števila, da to dosežete. Če želite natisniti izpis datoteke numbers.txt iz 17. vrstice, izvedite ta ukaz:
rep-n +17 številke.txt
Rezultat:
sedemnajst
osemnajst
devetnajst
dvajset
Natisnite zadnjih N znakov datoteke
Tako kot pri ukazu head lahko natisnete zadnjih nekaj znakov v datoteki z uporabo -c možnost. Če želite natisniti zadnjih 10 znakov datoteke numbers.txt, izvedite ta ukaz:
rep-c 10 številke.txt
Rezultat:
en
dvajset
Uporaba ukazov head in tail z več datotekami
Uporabite lahko tudi glavo in rep za tiskanje več kot ene datoteke hkrati. To je sintaksa za uporabo ukazov z več vhodnimi datotekami:
glavo[možnost][datoteka1][datoteka2]
rep[možnost][datoteka1][datoteka2]
Skupna uporaba ukazov za glavo in rep
Z uporabo simbola cevi lahko uporabite celo glavo in rep v istem ukazu. Simbol cevi preusmeri izhod enega ukaza kot vložek drugemu.
Na primer, da dobite šesto, sedmo in osmo vrstico, lahko izvedete ta ukaz:
glava -n 8 številk.txt | rep -n 3
Rezultat:
šest
sedem
osem
V zgoraj omenjeni enovrstičnici je ukaz head prikazal prvih osem vrstic datoteke, nato izhod je bil posredovan ukazu tail, ki je natisnil zadnje tri vrstice preusmerjenega izhod.
glava in rep: Koristni ukazi za obdelavo besedila
Linux ponuja veliko ukazov, ki vam pomagajo učinkovito manipulirati in obdelovati besedilne datoteke, ukaza head in tail pa sta le dva od mnogih. Najpogostejši ukazi za obdelavo besedila vključujejo grep, uniq, sort, sed, awk itd. Vsak od njih izpolnjuje drugačen namen s svojim edinstvenim naborom funkcij.
Poleg glave in repa je uporabnikom Linuxa na voljo ogromno drugih ukazov za upravljanje besedila in datotek.