Показать первые строк linux

Содержание
  1. Команда Head в Linux
  2. Синтаксис команды Head
  3. Как использовать команду головы
  4. Как отобразить определенное количество строк
  5. Как отобразить определенное количество байтов
  6. Как отображать несколько файлов
  7. Как использовать голову с другими командами
  8. Выводы
  9. Peter Leung, «Командная строка: маленькие хитрости от Linux Commando»
  10. Выбираем нужные строки из файла с помощью sed
  11. Просмотр содержимого файлов в командной строке Linux
  12. Команда cat
  13. Команда nl
  14. Команда less
  15. Команда more
  16. Команда head
  17. Команда tail
  18. Заключение
  19. Как отобразить определенные строки файла в командной строке Linux
  20. Отображение определенных строк с помощью команд head и tail
  21. Распечатать одну конкретную строку
  22. Распечатать определенный диапазон строк
  23. Используйте SED для отображения определенных строк
  24. Используйте AWK для печати определенных строк из файла
  25. Команда head linux
  26. Команда head в Linux
  27. Примеры использования head
  28. Выводы

Команда Head в Linux

Команда head выводит первые строки (по умолчанию 10 строк) одного или нескольких файлов или передаваемых данных в стандартный вывод.

В этом руководстве мы объясним, как использовать утилиту head в Linux, на практических примерах и подробных объяснениях наиболее распространенных опций head.

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

Синтаксис команды head следующий:

  • OPTION — варианты головы . Мы рассмотрим наиболее распространенные варианты в следующих разделах.
  • FILE — Ноль или более имен входных файлов. Если ФАЙЛ не указан или если ФАЙЛ — — , head будет читать стандартный ввод.

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

В простейшей форме при использовании без каких-либо параметров команда head отобразит первые 10 строк.

Как отобразить определенное количество строк

Используйте параметр -n ( —lines ), за которым следует целое число, указывающее количество отображаемых строк:

Вы можете опустить букву n и использовать только дефис ( — ) и цифру (без пробелов между ними).

Чтобы отобразить первые 30 строк файла с именем filename.txt , введите:

Следующее приведет к тому же результату, что и приведенные выше команды:

Как отобразить определенное количество байтов

Параметр -c ( —bytes ) позволяет распечатать определенное количество байтов:

Например, чтобы отобразить первые 100 байтов данных из файла с именем filename.txt , введите:

Вы также можете использовать суффикс множителя после числа, чтобы указать количество отображаемых байтов. b умножает его на 512, kB умножает на 1000, K умножает на 1024, MB умножает на 1000000, M умножает на 1048576 и так далее.

Следующая команда отобразит первые пять килобайт (2048) файла filename.txt :

Как отображать несколько файлов

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

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

В этом примере показаны первые 20 строк файлов filename1.txt и filename2.txt :

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

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

Команду head можно использовать в сочетании с другими командами, перенаправляя стандартный вывод из / в другие утилиты с помощью каналов.

Следующая команда будет хешировать переменную среды $RANDOM , отображать первые 32 байта и отображать случайную строку из 24 символов:

Выводы

К настоящему времени вы должны хорошо понимать, как использовать команду Linux head. Это дополнение к команде tail, которая выводит последние строки файла на терминал.

Источник

Peter Leung, «Командная строка: маленькие хитрости от Linux Commando»

Выбираем нужные строки из файла с помощью sed

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

Это очень просто сделать при помощи команды head:

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

Читайте также:  Регулярные выражения убрать комментарии linux

Давайте попробуем команду sed ≈ редактор потока (STream Editor).

Моя первая попытка применить команду p (print) оказалась неудачной:

Обратите внимание, что редактор печатает весь файл, причем указанную первую строку печатает дважды. Почему? По умолчанию редактор перепечатывает на стандартный вывод каждую строку вводимого файла. Четко заданная команда 1p приказывает печатать первую строку. В итоге первая строка дублируется.

Чтобы этого не происходило нужно подавить дефолтный вывод при помощи опции -n, чтобы на выводе был только результат команды 1p:

Можно пойти другим путем и удалить из файла все строки, кроме первой:

где ‘1!d’ означает: если строка не является первой (!), то подлежит удалению. Обратите внимания на кавычки (одинарные). Они совершенно необходимы, так как без них конструкция 1!d вызовет последнюю запускавшуюся в шелле команду, начинающуюся с буквы d.

Для извлечения нескольких строк, скажем, со второй по четвертую, можно поступить одним из следующих способов:

Интервал обозначается через запятую включительно.

А если строки не идут друг за другом, например, с первой по вторую и еще четвертую?

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

Блестящий пример нестандартного подхода продемонстрировал в комментариях к этой статье некий Chris:

Если я хочу извлечь пятую строку файла, то делаю так:

А правда, здорово! И никаких заумных команд не надо с их километровыми манами. Кстати так и нужные блоки подряд идущих строк можно извлекать.

Источник

Просмотр содержимого файлов в командной строке Linux

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

Команда cat

Команда cat выводит содержимое файла, который передается ей в качестве аргумента.

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

Команда nl

Команда nl действует аналогично команде cat , но выводит еще и номера строк в столбце слева.

Команду nl удобно применять для просмотра программного кода или поиска строк в файлах конфигурации.

Команда less

Утилита less выводит содержимое файла, но отображает его только в рамках текущего окна в режиме просмотра.

Вы можете прокручивать текст файла клавишами стрелок или перелистывать страницы клавишами w и z .

Для поиска текста внутри файла нажмите / .

Для просмотра списка доступных горячих клавиш нажмите h

Чтобы выйти из режима просмотра используется клавиша q .

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

Команда more

Команда more очень похожа на команду less . Она также выводит файл в терминале в режиме просмотра, но имеет некоторые отличия от команды less.

Например, less в конце файла выводит сообщение (END) (или EOF — End Of File) и ожидает нажатия клавиши q чтобы закрыть режим просмотра, а more по достижении конца файла сразу возвращает управление в терминал.

Также more после своей работы оставляет текст файла в терминале, а less работает «чисто» и не сохраняет текст в терминале.

Команда head

Команда head выводит на экран только первые 10 строк файла.

Используя опцию -n можно задать количество строк, которое нужно вывести. Например, чтобы вывести 15 строк используется команда:

Вместо -n можно просто использовать знак минус — , за которым сразу указывается количество строк.

Команда tail

Команда tail аналогична команде head , но выводит последние 10 строк файла.

Заключение

Команды, которые мы рассмотрели, имеют дополнительные возможности и области применения. Для получения справки по каждой команде можно воспользоваться Man-страницами.

Источник

Как отобразить определенные строки файла в командной строке Linux

Главное меню » Linux » Как отобразить определенные строки файла в командной строке Linux

Читайте также:  Не открываются png файлы windows 10

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

Для отображения 13-й строки вы можете использовать комбинацию головы и хвоста:

Или вы можете использовать команду sed:

Чтобы отобразить номера строк от 20 до 25, вы можете объединить команды head и tail следующим образом:

Или вы можете использовать команду sed следующим образом:

Подробное объяснение каждой команды следует далее. Мы также покажем использование команды awk для этой цели.

Отображение определенных строк с помощью команд head и tail

Это один из распространенных способов отображения выбранных строк. Нам легче запомнить и использовать.

Распечатать одну конкретную строку

Используйте комбинацию команды head и tail в следующей функции номер строки x:

Вы можете заменить x номером строки, которую хотите отобразить. Итак, допустим, вы хотите отобразить 13-ю строку файла.

Объяснение : Вы, вероятно, уже знаете, что команда head получает строки файла с самого начала, а команда tail – с конца.

Часть «head -x» команды получит первые x строк файлов. Затем он перенаправит этот вывод в команду tail. Команда tail отображает все строки, начиная с номера строки x.

Совершенно очевидно, что если вы возьмете 13 строк сверху, строки, начинающиеся с номера 13 до конца, будут 13-й строкой. Это логика этой команды.

Распечатать определенный диапазон строк

Теперь давайте возьмем нашу комбинацию команд head и tail, чтобы отобразить более одной строки.

Скажем, вы хотите отобразить все строки от х до у. Это включает в себя также x и y строки:

Давайте возьмем практический пример. Предположим, вы хотите напечатать все строки от строки № 20 до 25:

Используйте SED для отображения определенных строк

Мощная команда sed предоставляет несколько способов печати определенных строк.

Например, для отображения 10-й строки вы можете использовать sed следующим образом:

-n подавляет вывод, в то время как команда p печатает определенные строки. Прочитайте это руководство SED, чтобы узнать и понять его в деталях.

Чтобы отобразить все строки от номера строки x до номера строки y, используйте это:

Используйте AWK для печати определенных строк из файла

Команда awk может показаться сложной, и, безусловно, здесь задействована кривая обучения. Но, как и sed, awk также довольно мощный инструмент для редактирования и манипулирования содержимым файлов.

NR обозначает «текущий номер записи». Пожалуйста, прочитайте наше руководство по команде AWK для получения дополнительной информации.

Чтобы отобразить все строки от x до y, вы можете использовать команду awk следующим образом:

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

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

Источник

Команда head linux

Команда head выводит начальные строки (по умолчанию — 10) из одного или нескольких документов. Также она может показывать данные, которые передает на вывод другая утилита.

Сегодня мы расскажем как работает эта команда для Linux и покажем, как используются на практике наиболее популярные опции head.

Команда head в Linux

Синтаксис у команды head следующий:

$ head опции файл

  • Опции — это параметр, который позволяет настраивать работу команды таким образом, чтобы результат соответствовал конкретным потребностям пользователя.
  • Файл — это имя документа (или имена документов, если их несколько). Если это значение не задано либо вместо него стоит знак «-», команда будет брать данные из стандартного вывода.

Чаще всего к команде head применяются такие опции:

  • -c (—bytes) — позволяет задавать количество текста не в строках, а в байтах. При записи в виде —bytes=[-]NUM выводит на экран все содержимое файла, кроме NUM байт, расположенных в конце документа.
  • -n (—lines) — показывает заданное количество строк вместо 10, которые выводятся по умолчанию. Если записать эту опцию в виде —lines=[-]NUM, будет показан весь текст кроме последних NUM строк.
  • -q (—quiet, —silent) — выводит только текст, не добавляя к нему название файла.
  • -v (—verbose) — перед текстом выводит название файла.
  • -z (—zero-terminated) — символы перехода на новую строку заменяет символами завершения строк.
Читайте также:  What is nmap in linux

Переменная NUM, упомянутая выше — это любое число от 0 до бесконечности, задаваемое пользователем. Оно может быть обычным либо содержать в себе множитель.

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

Самый простой способ использования команды head — с указанием имени файла, но без опций. В таком случае будут выведены на экран первые 10 строк.

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

head file-name1.txt file-name2.txt

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

Чтобы название файла выводилось даже в том случае, когда команде задан только один документ, следует воспользоваться опцией -v:

head -v file-name.txt

Если десяти строк, по умолчанию выводимых командой, окажется слишком мало или слишком много, ничто не мешает изменить их количество вручную. Для этой цели служит опция -n:

head -n file-name.txt

Не будем забывать об еще одном интересном свойстве этой опции. Она позволяет вывести то количество строк, которое останется после «отсечения» лишнего текста. Для этого нужно использовать не сокращенную (однобуквенную), а полную запись опции:

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

Следует заметить, что строки «отсекаются», начиная с последней.

До этого момента мы (и команда head вместе с нами) считали количество текста построчно. Но это не обязательное условие — с таким же успехом единицей измерения может быть байт. Достаточно сообщить команде о новом правиле работы с помощью опции -с, заодно указав и количество байт, которое нужно вывести на экран (NUM):

head -c NUM file-name.txt

Как и в случае с опцией —lines, можно «отсечь» ненужный объем текста, используя полную форму опции -с — —bytes. Запись команды проводится по тому же принципу и лишние байты тоже отсчитываются, начиная с конца документа:

При записи байт можно использовать буквенные суффиксы:

  • b — умножает число на 512.
  • kB — на 1000.
  • k — на 1024.
  • MB — на 1 000 000.
  • M — на 1 048 576.

Кстати, команду head можно использовать не только самостоятельно, но и в сочетании с другими командами. Например, такая запись хеширует рандомно выбранную переменную среды, выводит первые 32 байта из указанного файла и отображает случайную строку из 24 символов:

echo $RANDOM | sha512sum | head -c 24 file-name.txt; echo

На этом наши примеры head linux подошли к завершению.

Выводы

Команда head linux, которая выводит начальные строки файла, — это в некотором роде антагонист команды tail (она печатает в терминале последние строки). Поскольку ее синтаксис довольно прост, у пользователей, как правило, не возникает проблем с использованием этой команды. Если у вас появились вопросы или замечания по части команды head и ее применения в Linux-системах, обязательно оставьте комментарий внизу.

Источник

Оцените статью