Există multe comenzi și instrumente Linux utilizate pentru a procesa fișiere text. Dar există momente în care nu doriți să citiți întregul conținut al unui fișier, ci mai degrabă o anumită parte a acestuia. Știți că puteți utiliza comenzile head și tail pe Linux pentru a afișa începutul și, respectiv, sfârșitul unui fișier?
Citiți mai departe pentru a descoperi cum puteți utiliza aceste două comenzi pentru a procesa și a manipula eficient textul pe Linux.
Ce este comanda capului?
Comanda head este folosită pentru a tipări părțile inițiale ale unui fișier. Citește fișierele de la început. Dacă aveți un fișier care are peste o mie de rânduri, ar fi foarte greoi să îl deschideți și să îl citiți. Puteți imprima cu ușurință doar câteva rânduri din partea de sus folosind comanda head.
Sintaxa comenzii head
Sintaxa de bază a comenzii head este:
cap[opțiune][fişier]
Există multe opțiuni disponibile pentru a fi utilizate alături de comanda head, dintre care unele vor fi discutate mai târziu. La obține ajutor din linia de comandă
în ceea ce privește comanda head, verificați pagina sa de manual rulând:cap de om
Cum să utilizați comanda head
Pentru acest exemplu, creați un fișier: numere.txt. În fișier, enumerați numerele de la 1 la 20 în cuvinte. Puteți alege să utilizați orice fișier la alegere, dar asigurați-vă că are cel puțin 11 rânduri.
Folosind comanda implicită head
În mod implicit, comanda head tipărește primele 10 rânduri de text dintr-un fișier. Încercați-l cu fișierul numbers.txt executând această comandă în terminalul dvs.:
capnumere.TXT
Va tipări primele 10 rânduri ale fișierului:
unu
Două
Trei
patru
cinci
şase
Șapte
opt
nouă
zece
Dacă fișierul are mai puțin de 10 linii, comanda head va imprima toate liniile prezente.
Tipăriți primul N număr de linii
Puteți utiliza comanda head pentru a imprima un anumit număr de linii în loc de 10 implicit. Pentru a imprima primele trei rânduri ale fișierului numbers.txt, executați această comandă:
cap-n 3 numere.TXT
Rezultatul:
unu
Două
Trei
Excludeți ultimele N linii folosind comanda head
La fel cum puteți imprima primele rânduri ale unui text, puteți decide să excludeți ultimele N linii atunci când imprimați. Puteți face acest lucru utilizând un număr negativ pentru parametrul N.
Pentru a exclude ultimele 15 rânduri ale fișierului numbers.txt, rulați:
cap-n-15numere.TXT
Rezultatul:
unu
Două
Trei
patru
cinci
Tipăriți primele N caractere ale unui fișier
Comanda head are, de asemenea, opțiunea de a imprima primul număr de caractere sau octeți dintr-un fișier. Puteți face acest lucru folosind -c opțiune. Pentru a imprima primele 10 caractere, utilizați:
cap-c 10 numere.TXT
Ieșire:
unu
Două
th
Ce este comanda coadă?
După cum sugerează și numele, comanda tail imprimă ultimele linii ale unui fișier. Citește fișierele de la sfârșit și scoate liniile de final.
Sintaxa comenzii coadă
Sintaxa de bază a comenzii tail este:
coadă[opțiune][fişier]
Pentru mai multe informații despre comanda coadă, verificați pagina sa de manual prin emiterea:
coada de om
Cum să utilizați comanda coadă
Vom folosi fișierul numbers.txt deja creat pentru următoarele exemple.
Folosind comanda implicită tail
Comanda tail scoate ultimele 10 linii ale unui fișier atunci când este utilizat fără opțiuni speciale. De exemplu:
coadănumere.TXT
Ieșirea va afișa ultimele 10 linii așa cum este menționat:
unsprezece
doisprezece
treisprezece
paisprezece
cincisprezece
şaisprezece
şaptesprezece
optsprezece
nouăsprezece
douăzeci
Tipăriți ultimul N număr de linii
Într-o situație în care nu doriți să imprimați ultimele 10 rânduri, ci un anumit număr, puteți utiliza -n opțiunea de a realiza asta. Pentru a imprima ultimele patru rânduri ale fișierului numbers.txt, executați această comandă:
coadă-n 4 numere.TXT
Rezultatul:
şaptesprezece
optsprezece
nouăsprezece
douăzeci
Imprimați linii după o linie specifică
Dacă doriți să începeți de la o anumită linie N, puteți utiliza -n opțiune alături de un număr pozitiv pentru a realiza acest lucru. Pentru a imprima rezultatul fișierului numbers.txt de pe a 17-a linie, executați această comandă:
coadă-n +17 numere.TXT
Rezultatul:
şaptesprezece
optsprezece
nouăsprezece
douăzeci
Tipăriți ultimele N caractere ale unui fișier
La fel ca comanda head, puteți imprima ultimele caractere din fișier utilizând -c opțiune. Pentru a imprima ultimele 10 caractere ale fișierului numbers.txt, executați această comandă:
coadă-c 10 numere.TXT
Rezultatul:
ro
douăzeci
Utilizarea comenzilor cap și coadă cu fișiere multiple
De asemenea, puteți utiliza cap și coadă pentru a imprima mai multe fișiere simultan. Aceasta este sintaxa pentru utilizarea comenzilor cu intrări multiple de fișiere:
cap[opțiune][fișier1][fișier2]
coadă[opțiune][fișier1][fișier2]
Folosind Comenzile Cap și Coada Împreună
Puteți chiar să folosiți capul și coada în aceeași comandă folosind simbolul țevii. Simbolul țevii redirecționează rezultatul unei comenzi ca intrare pentru altul.
De exemplu, pentru a obține a șasea, a șaptea și a opta rânduri, puteți executa această comandă:
cap -n 8 numere.txt | coada -n 3
Rezultatul:
şase
Șapte
opt
În un-linerul menționat mai sus, comanda head a afișat primele opt rânduri ale fișierului, apoi ieșirea a fost transmisă comenzii tail, care a tipărit ultimele trei linii ale redirecționate ieșire.
cap și coadă: comenzi utile de manipulare a textului
Linux oferă o mulțime de comenzi pentru a vă ajuta să manipulați și să procesați în mod eficient fișierele text, iar comenzile head și tail sunt doar două dintre multe. Cele mai comune comenzi de manipulare a textului includ grep, uniq, sort, sed, awk etc. Fiecare dintre ele îndeplinește un scop diferit cu setul său unic de caracteristici.
În afară de cap și coadă, există o mulțime de alte comenzi de manipulare a textului și a fișierelor disponibile pentru utilizatorii Linux.