Описание команды head
Синтаксис
ФАЙЛ — это один или несколько файлов, записанных через через пробел, строки которых необходимо вывести.
Если указывается несколько файлов, то выводится первые N строк из каждого файла. Перед началом вывода строк каждого файла выводится имя файла.
Опции
LINES — количество первых строк из файла, которое нужно вывести.
Если значение LINES отрицательное, то выводится все содержимое файла, кроме последних N строк (где N=LINES).
BYTES — количество первых байт из файла, которое нужно вывести.
Если значение BYTE отрицательное, то выводится все содержимое файла, кроме последних N байт (где N=BYTES).
Значение BYTES можно указать с суффиксом: b (512 байт), kB (1000 байт), MB (1000*1000), M (1024*1024), GB (1000*1000*1000), G (1024*1024*1024), T, P, E, Z, Y.
Также можно использовать двоичные приставки: KiB=K, MiB=M и так далее.
Примечание: Имена файлов печатаются, если указано несколько файлов. Если данная опция установлена, то имена файлов не печатаются, и между содержимым разных файлов не добавляется пустая строка.
Примеры использования команды head
Рассмотрим несколько примеров использования команды head в Linux.
Вывод первых строк файла на экран
Вывести первые 10 строк файла:
head myfile.txt
Вывести первые 25 строк файла:
head -n25 myfile.txt
Вывод нескольких первых байт файла
Вывести содержимое первых 100 байт файла:
head -c100 myfile.txt
Вывести содержимое первого мегабайта файла (здесь используется суффикс M):
head -c1M myfile.txt
Вывод первых строк из нескольких файлов
Вывести первые 3 строки из каждого файла:
head -n3 myfile.txt myfile2.txt
Результат:
==> myfile.txt <==
Manjaro
Linux Mint
Debian
==> myfile2.txt <==
Kali Linux
Ubuntu Studio
Q4OS
Использование head для печати первых строк вывода другой команды
Команду head часто используют для того, чтобы напечатать первые N строк вывода другой команды.
Выполнить команду ls -t и вывести только первые 12 строк. Команда ls -t выводит на экран список файлов в директории и сортирует их по времени изменения (так как указан ключ -t). В данном примере будут выведены не все файлы, а только первые 12.
ls -t | head -n12
Вывести содержимое файла командой cat, но напечатать только первые 5 строк:
cat /var/log/Xorg.0.log | head -n5
Комментарии