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.