Teksta failu apstrādei tiek izmantotas daudzas Linux komandas un rīki. Bet ir gadījumi, kad nevēlaties lasīt visu faila saturu, bet gan konkrētu tā daļu. Vai zināt, ka operētājsistēmā Linux varat izmantot komandas head un tail, lai izvadītu attiecīgi faila sākumu un beigas?

Lasiet tālāk, lai uzzinātu, kā varat izmantot šīs divas komandas, lai efektīvi apstrādātu un manipulētu ar tekstu operētājsistēmā Linux.

Kas ir galvas komanda?

Komanda head tiek izmantota, lai izdrukātu faila sākotnējās daļas. Tas nolasa failus no sākuma. Ja jums ir fails, kurā ir vairāk nekā tūkstotis rindiņu, to atvērt un lasīt būtu ļoti apgrūtinoši. Varat vienkārši izdrukāt dažas rindiņas no augšas, izmantojot komandu head.

Galvas komandas sintakse

Galvas komandas pamata sintakse ir:

galvu[opcija][fails]

Ir pieejamas daudzas opcijas, ko izmantot kopā ar komandas galvu, dažas no kurām tiks apspriestas vēlāk. Uz saņemt komandrindas palīdzību attiecībā uz komandu galvu pārbaudiet tās rokasgrāmatu, izpildot:

vīrieša galva

Kā lietot galvas komandu

Šim piemēram izveidojiet failu: cipari.txt. Failā norādiet skaitļus no viena līdz 20 vārdos. Varat izvēlēties izmantot jebkuru failu pēc savas izvēles, taču pārliecinieties, ka tajā ir vismaz 11 rindiņas.

Izmantojot noklusējuma galviņas komandu

Pēc noklusējuma komanda head izdrukā failā pirmās 10 teksta rindiņas. Izmēģiniet to ar failu numbers.txt, terminālī izpildot šo komandu:

galvucipariem.txt

Tas izdrukās pirmās 10 faila rindiņas:

viens
divi
trīs
četri
pieci
seši
septiņi
astoņi
deviņi
desmit

Ja failā ir mazāk par 10 rindiņām, komanda head izdrukās visas esošās rindas.

Izdrukājiet pirmo N rindu skaitu

Varat izmantot komandu head, lai drukātu noteiktu rindu skaitu, nevis noklusējuma 10. Lai izdrukātu pirmās trīs rindiņas failā numbers.txt, izpildiet šo komandu:

galvu-n 3 cipariem.txt

Rezultāts:

viens
divi
trīs

Izslēdziet pēdējās N rindiņas, izmantojot galviņas komandu

Tāpat kā jūs varat izdrukāt teksta pirmās rindiņas, varat arī izlemt izslēgt pēdējās N rindiņas drukāšanas laikā. To var izdarīt, izmantojot N parametra negatīvu skaitli.

Lai izslēgtu faila numbers.txt pēdējās 15 rindiņas, palaidiet:

galvu-n-15cipariem.txt

Rezultāts:

viens
divi
trīs
četri
pieci

Izdrukājiet faila pirmās N rakstzīmes

Komandai head ir arī iespēja drukāt pirmo rakstzīmju vai baitu skaitu failā. To var izdarīt, izmantojot -c opciju. Lai izdrukātu pirmās 10 rakstzīmes, izmantojiet:

galvu-c 10 cipariem.txt

Izvade:

viens
divi
th

Kas ir astes komanda?

Kā norāda nosaukums, astes komanda izdrukā faila pēdējās rindiņas. Tas nolasa failus no beigām un izvada beigu rindas.

Astes komandas sintakse

Astes komandas pamata sintakse ir:

asti[opcija][fails]

Lai iegūtu papildinformāciju par asti komandu, pārbaudiet tās rokasgrāmatas lapu, izdodot:

 vīrieša aste

Kā lietot astes komandu

Tālāk norādītajiem piemēriem izmantosim jau izveidoto failu numbers.txt.

Izmantojot noklusējuma asti komandu

Komanda tail izvada pēdējās 10 faila rindas, ja to izmanto bez īpašām opcijām. Piemēram:

asticipariem.txt

Izvade parādīs pēdējās 10 rindas, kā minēts:

vienpadsmit
divpadsmit
trīspadsmit
četrpadsmit
piecpadsmit
sešpadsmit
septiņpadsmit
astoņpadsmit
deviņpadsmit
divdesmit

Izdrukājiet pēdējo N rindu skaitu

Situācijā, kad nevēlaties drukāt pēdējās 10 rindiņas, bet gan konkrētu numuru, varat izmantot -n iespēja to sasniegt. Lai izdrukātu faila numbers.txt pēdējās četras rindiņas, izpildiet šo komandu:

asti-n 4 cipariem.txt

Rezultāts:

septiņpadsmit
astoņpadsmit
deviņpadsmit
divdesmit

Drukājiet rindas pēc noteiktas rindiņas

Ja vēlaties sākt no noteiktas rindas N, varat izmantot -n opciju kopā ar pozitīvu skaitli, lai to panāktu. Lai izdrukātu faila numbers.txt izvadi no 17. rindas, izpildiet šo komandu:

asti-n +17 cipariem.txt

Rezultāts:

septiņpadsmit
astoņpadsmit
deviņpadsmit
divdesmit

Izdrukājiet faila pēdējās N rakstzīmes

Tāpat kā head komandu, varat izdrukāt dažas pēdējās faila rakstzīmes, izmantojot -c opciju. Lai izdrukātu faila numbers.txt pēdējās 10 rakstzīmes, izpildiet šo komandu:

asti-c 10 cipariem.txt

Rezultāts:

lv
divdesmit

Galvas un astes komandu izmantošana ar vairākiem failiem

Varat arī izmantot galvu un asti, lai vienlaikus drukātu vairāk nekā vienu failu. Šī ir sintakse komandu lietošanai ar vairākām failu ievadēm:

galvu[opcija][fails1][fails2]
asti[opcija][fails1][fails2]

Galvas un astes komandu izmantošana kopā

Jūs pat varat izmantot galvu un asti vienā komandā, izmantojot caurules simbolu. Caurules simbols novirza vienas komandas izvadi kā ievadi citam.

Piemēram, lai iegūtu sesto, septīto un astoto rindu, varat izpildīt šo komandu:

head -n 8 cipari.txt | aste -n 3

Rezultāts:

seši
septiņi
astoņi

Iepriekšminētajā vienrindā komanda head rādīja faila pirmās astoņas rindiņas, pēc tam izvade tika nodota astes komandai, kas izdrukāja pēdējās trīs novirzītās rindas izvade.

galva un aste: noderīgas teksta manipulācijas komandas

Linux piedāvā daudzas komandas, kas palīdz efektīvi manipulēt un apstrādāt teksta failus, un galvas un astes komandas ir tikai divas no daudzajām komandām. Visizplatītākās teksta manipulācijas komandas ir grep, uniq, sort, sed, awk utt. Katrs no tiem pilda citu mērķi ar savu unikālo funkciju komplektu.

Neatkarīgi no galvas un astes, Linux lietotājiem ir pieejamas daudzas citas teksta un failu manipulācijas komandas.