Команда Linux head

Опубликовано admin - ср, 07/27/2022 - 17:11

В Linux команда head, как следует из названия, выводит первые N данных заданного ввода. По умолчанию утилита печатает первые 10 строк указанных файлов. 

Использование команды Linux head с примерами

Содержание

Синтаксис

head [ПАРАМЕТР]… [ФАЙЛ]…

Печатает первые 10 строк каждого ФАЙЛА на стандартный вывод. Если задано несколько ФАЙЛОВ, сначала печатает заголовок с именем файла.

Опции

-c, --bytes=[-]K
Вывести первые K байт каждого файла; если перед K стоит -, напечатать все, кроме K последних байт каждого файла
-n, --lines=[-]K
Вывести K строк каждого файла, а не первые 10; если перед K стоит -, напечатать все, кроме K последних строк каждого файла
-q, --quiet, --silent
Не выводить заголовки с именами файлов
-v, --verbose
Всегда выводить заголовки с именами файлов
-z, --zero-terminated
Разделитель строк NUL, а не символ новой строки

После K может стоять один из умножающий суффиксов: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024 и так далее для T, P, E, Z, Y. Также можно использовать двоичные префиксы: KiB=K, MiB=M и так далее.

Примеры использования команды head в Linux

Для рассмотрения простейших примеров применения команды head были созданы 2 файла, каждый из 50 строк:

usa-states.txt
Названия штатов США
usa-capitals.txt
Названия столиц штатов США

Использование без опций

При использовании команды head без опций она выводит первые 10 строк заданного файла:

oleg@mobile:~:$ head usa-states.txt
Айдахо
Айова
Алабама
Аляска
Аризона
Арканзас
Вайоминг
Вашингтон
Вермонт
Виргиния
oleg@mobile:~:$

Можно выводить результат и нескольких файлов, перечисляя их через пробел:

oleg@mobile:~:$ head usa-states.txt usa-capitals.txt
==> usa-states.txt <==
Айдахо
Айова
Алабама
Аляска
Аризона
Арканзас
Вайоминг
Вашингтон
Вермонт
Виргиния

==> usa-capitals.txt <==
Бойсе
Де-Мойн
Монтгомери
Джуно
Финикс
Литл-Рок
Шайенн
Олимпия
Монтпилиер
Ричмонд
oleg@mobile:~:$ 

Были выведены по 10 первых строк двух файлов.

Вывод определённого числа строк

В этом случае используется опция -n, к которой через пробел добавляется число строк, необходимых для вывода:

oleg@mobile:~:$ head -n 5 usa-states.txt usa-capitals.txt
==> usa-states.txt <==
Айдахо
Айова
Алабама
Аляска
Аризона

==> usa-capitals.txt <==
Бойсе
Де-Мойн
Монтгомери
Джуно
Финикс
oleg@mobile:~:$

Были выведены по 5 первых строк двух файлов.

Вывод определённого числа байтов 

В данном случае используется опция -c, к которой через пробел добавляется число байтов, необходимых для вывода:

oleg@mobile:~:$ head -c 25 usa-states.txt usa-capitals.txt
==> usa-states.txt <==
Айдахо
Айова
�
==> usa-capitals.txt <==
Бойсе
Де-Мойн
oleg@mobile:~:$ 

Вывод строк нескольких файлов

При использовании опции -q строки выводятся без названий файлов и пробельных строк:

oleg@mobile:~:$ head -q usa-states.txt usa-capitals.txt
Айдахо
Айова
Алабама
Аляска
Аризона
Арканзас
Вайоминг
Вашингтон
Вермонт
Виргиния
Бойсе
Де-Мойн
Монтгомери
Джуно
Финикс
Литл-Рок
Шайенн
Олимпия
Монтпилиер
Ричмонд
oleg@mobile:~:$ 

Заключение

В Linux команда head является достаточно простой. Начинающие пользователи не будут иметь с ней никаких проблем. Её можно использовать также и в конвейере, но это уже выходит за рамки данной короткой статьи о простейших примерах применения этой утилиты.

Поделиться с друзьями