Существует множество команд и инструментов Linux, используемых для обработки текстовых файлов. Но бывают случаи, когда вы хотите прочитать не все содержимое файла, а определенную его часть. Знаете ли вы, что вы можете использовать команды head и tail в Linux для вывода начала и конца файла соответственно?

Читайте дальше, чтобы узнать, как вы можете использовать эти две команды для эффективной обработки текста и управления им в Linux.

Что такое головная команда?

Команда head используется для вывода начальных частей файла. Он читает файлы с самого начала. Если у вас есть файл, содержащий более тысячи строк, открыть и прочитать его будет очень обременительно. Вы можете легко просто распечатать несколько строк сверху, используя команду head.

Синтаксис команды head

Основной синтаксис команды head:

голова[вариант][файл]

Вместе с командой head можно использовать множество опций, некоторые из которых будут обсуждаться позже. К получить справку из командной строки Что касается команды head, проверьте ее справочную страницу, выполнив:

instagram viewer
голова человека

Как использовать команду головы

Для этого примера создайте файл: числа.txt. В файле перечислите числа от 1 до 20 прописью. Вы можете использовать любой файл по вашему выбору, но убедитесь, что он содержит не менее 11 строк.

Использование команды head по умолчанию

По умолчанию команда head выводит первые 10 строк текста в файле. Попробуйте это с файлом numbers.txt, выполнив эту команду в своем терминале:

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

Он распечатает первые 10 строк файла:

один
два
три
четыре
пять
шесть
Семь
восемь
девять
десять

Если в файле менее 10 строк, команда head напечатает все присутствующие строки.

Распечатайте первое N количество строк

Вы можете использовать команду head для печати определенного количества строк вместо 10 по умолчанию. Чтобы распечатать первые три строки файла number.txt, выполните следующую команду:

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

Результат:

один
два
три

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

Точно так же, как вы можете распечатать первые строки текста, вы также можете исключить последние N строк при печати. Вы можете сделать это, используя отрицательное число для параметра N.

Чтобы исключить последние 15 строк файла number.txt, выполните:

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

Результат:

один
два
три
четыре
пять

Распечатать первые N символов файла

Команда head также имеет возможность печатать первое количество символов или байтов в файле. Вы можете сделать это с помощью вариант. Чтобы распечатать первые 10 символов, используйте:

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

Выход:

один
два
й

Что такое хвостовая команда?

Как следует из названия, команда tail печатает последние строки файла. Он читает файлы с конца и выводит конечные строки.

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

Основной синтаксис команды tail:

хвост[вариант][файл]

Для получения дополнительной информации о команде tail проверьте ее справочную страницу, выполнив:

 мужской хвост

Как использовать команду хвоста

Мы будем использовать уже созданный файл number.txt для следующих примеров.

Использование команды хвоста по умолчанию

Команда tail выводит последние 10 строк файла при использовании без каких-либо специальных параметров. Например:

хвостчисла.текст

Вывод будет отображать последние 10 строк, как указано:

одиннадцать
двенадцать
тринадцать
четырнадцать
пятнадцать
шестнадцать
семнадцать
восемнадцать
девятнадцать
двадцать

Распечатать последнее N количество строк

В ситуации, когда вы хотите напечатать не последние 10 строк, а конкретное число, вы можете использовать вариант для достижения этого. Чтобы распечатать последние четыре строки файла number.txt, выполните следующую команду:

хвост 4 числа.текст

Результат:

семнадцать
восемнадцать
девятнадцать
двадцать

Печатать строки после определенной строки

Если вы хотите начать с определенной строки N, вы можете использовать вариант рядом с положительным числом для достижения этого. Чтобы распечатать вывод файла number.txt из 17-й строки, выполните эту команду:

хвост +17 числа.текст

Результат:

семнадцать
восемнадцать
девятнадцать
двадцать

Распечатать последние N символов файла

Как и в случае с командой head, вы можете напечатать последние несколько символов в файле с помощью команды вариант. Чтобы напечатать последние 10 символов файла number.txt, выполните следующую команду:

хвост 10 числа.текст

Результат:

en
двадцать

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

Вы также можете использовать head и tail для одновременной печати нескольких файлов. Это синтаксис для использования команд с несколькими файловыми входами:

голова[вариант][файл1][файл2]
хвост[вариант][файл1][файл2]

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

Вы даже можете использовать голову и хвост в одной команде, используя символ вертикальной черты. Символ трубы перенаправляет вывод одной команды как вход для другого.

Например, чтобы получить шестую, седьмую и восьмую строки, вы можете выполнить эту команду:

голова -n 8 чисел.txt | хвост -n 3

Результат:

шесть
Семь
восемь

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

head и tail: полезные команды для работы с текстом

Linux предлагает множество команд, которые помогут вам эффективно манипулировать текстовыми файлами и обрабатывать их, и команды head и tail — лишь две из многих. Наиболее распространенные команды обработки текста включают grep, uniq, sort, sed, awk и т. д. Каждый из них выполняет разные задачи со своим уникальным набором функций.

Помимо головы и хвоста, для пользователей Linux доступно множество других команд для работы с текстом и файлами.