Има много команди и инструменти на Linux, използвани за обработка на текстови файлове. Но има моменти, когато не искате да прочетете цялото съдържание на даден файл, а по-скоро конкретна част от него. Знаете ли, че можете да използвате командите head и tail на Linux, за да изведете съответно началото и края на файл?

Прочетете, за да откриете как можете да използвате тези две команди за ефективна обработка и манипулиране на текст в Linux.

Какво представлява главата?

Командата head се използва за отпечатване на началните части на файл. Той чете файловете от самото начало. Ако имате файл, който има над хиляда реда, би било много тромаво да го отворите и прочетете. Можете лесно просто да отпечатате няколко реда отгоре, като използвате командата head.

Главният команден синтаксис

Основният синтаксис на командата head е:

глава[опция][файл]

Има много налични опции за използване заедно с командата head, някои от които ще бъдат обсъдени по-късно. Да се получете помощ от командния ред относно командата head, проверете нейната страница с ръководство, като изпълните:

instagram viewer
мъжка глава

Как да използвате командата head

За този пример създайте файл: числа.txt. Във файла избройте с думи числата от едно до 20. Можете да изберете да използвате произволен файл по ваш избор, но се уверете, че има поне 11 реда.

Използване на командата за главата по подразбиране

По подразбиране командата head отпечатва първите 10 реда текст във файл. Изпробвайте го с файла numbers.txt, като изпълните тази команда във вашия терминал:

главачисла.текст

Той ще отпечата първите 10 реда от файла:

един
две
три
четири
пет
шест
седем
осем
девет
десет

Ако файлът има по-малко от 10 реда, командата head ще отпечата всички налични редове.

Отпечатайте първите N броя редове

Можете да използвате командата head, за да отпечатате определен брой редове вместо 10 по подразбиране. За да отпечатате първите три реда на файла numbers.txt, изпълнете тази команда:

глава 3 числа.текст

Резултатът:

един
две
три

Изключете последните N реда с помощта на командата head

Точно както можете да отпечатате първите редове на текст, можете също да решите да изключите последните N реда при печат. Можете да направите това, като използвате отрицателно число за параметъра N.

За да изключите последните 15 реда от файла numbers.txt, изпълнете:

глава-15числа.текст

Резултатът:

един
две
три
четири
пет

Отпечатайте първите N знака от файл

Командата head също има опция за отпечатване на първия брой знаци или байтове във файл. Можете да направите това, като използвате -° С опция. За да отпечатате първите 10 знака, използвайте:

глава-° С 10 числа.текст

Изход:

един
две
th

Какво представлява командата за опашка?

Както подсказва името, командата tail отпечатва последните редове на файл. Той чете файловете от края и извежда крайните редове.

Синтаксис на командата tail

Основният синтаксис на командата tail е:

опашка[опция][файл]

За повече информация относно командата tail проверете нейната страница с ръководство, като издадете:

 мъжка опашка

Как да използвате командата tail

Ще използваме вече създадения файл numbers.txt за следните примери.

Използване на командата tail по подразбиране

Командата tail извежда последните 10 реда от файл, когато се използва без специални опции. Например:

опашкачисла.текст

Изходът ще покаже последните 10 реда, както е споменато:

единадесет
дванадесет
тринадесет
четиринадесет
петнадесет
шестнадесет
седемнадесет
осемнадесет
деветнадесет
двадесет

Отпечатайте последните N броя редове

В ситуация, в която не искате да отпечатате последните 10 реда, а конкретно число, можете да използвате опция за постигане на това. За да отпечатате последните четири реда на файла numbers.txt, изпълнете тази команда:

опашка 4 числа.текст

Резултатът:

седемнадесет
осемнадесет
деветнадесет
двадесет

Печат на редове след конкретен ред

Ако искате да започнете от определен ред N, можете да използвате опция заедно с положително число за постигане на това. За да отпечатате изхода на файла numbers.txt от 17-ия ред, изпълнете тази команда:

опашка +17 числа.текст

Резултатът:

седемнадесет
осемнадесет
деветнадесет
двадесет

Отпечатайте последните N знака на файл

Точно като командата head, можете да отпечатате последните няколко знака във файла, като използвате -° С опция. За да отпечатате последните 10 знака от файла numbers.txt, изпълнете тази команда:

опашка-° С 10 числа.текст

Резултатът:

en
двадесет

Използване на командите head и tail с множество файлове

Можете също да използвате глава и опашка, за да отпечатате повече от един файл наведнъж. Това е синтаксисът за използване на командите с множество входни файлове:

глава[опция][файл1][файл2]
опашка[опция][файл1][файл2]

Използване на командите за глава и опашка заедно

Можете дори да използвате глава и опашка в една и съща команда, като използвате символа за тръба. Символът на тръбата пренасочва изхода на една команда като вход към друг.

Например, за да получите шестия, седмия и осмия ред, можете да изпълните тази команда:

глава -n 8 числа.txt | опашка -n 3

Резултатът:

шест
седем
осем

В гореспоменатата едноредова команда head показва първите осем реда на файла, след което изходът беше предаден на командата tail, която отпечата последните три реда от пренасоченото изход.

глава и опашка: Полезни команди за манипулиране на текст

Linux предлага много команди, които да ви помогнат ефективно да манипулирате и обработвате текстови файлове, а командите head и tail са само две от многото. Най-често срещаните команди за манипулиране на текст включват grep, uniq, sort, sed, awk и др. Всеки от тях изпълнява различна цел със своя уникален набор от функции.

Освен главата и опашката, има тонове други команди за манипулиране на текст и файлове, достъпни за потребителите на Linux.