Less в Linux: Как легко читать огромные файлы в терминале

Less в Linux: Как легко читать огромные файлы в терминале

Вы когда-нибудь пытались открыть в терминале лог-файл на гигабайт и ваш сеанс превращался в кошмар прокрутки? Есть решение, которое работает быстрее и умнее.

Команда less — это ваш пропуск в мир комфортной работы с большими текстами прямо в консоли. В отличие от своего предшественника more, она позволяет двигаться не только вперед, но и назад, мгновенно находить нужные фрагменты и не загружает всю оперативку.

Представьте: вы ищете ошибку в тысячах строк логов. Просто введите /слово — и все совпадения подсветятся. Нужно быстро перейти в конец или начало? Легко.

Эта утилита загружает текст частями, поэтому она молниеносно открывает даже гигантские файлы. А еще она умеет скрывать лишние пустые строки, нумеровать строки и игнорировать регистр при поиске.

Внутри less — целый набор мощных команд. Прокрутка экрана, поиск в двух направлениях, горизонтальная навигация — все это управляется нажатием пары клавиш.

Хотите стать настоящим гуру терминала и перестать бояться больших файлов? Мы покажем вам все ключевые приемы работы с less, от базового открытия файла до продвинутых опций для профессионалов.

Готовы превратить терминал в удобную читалку? Переходите к статье и откройте для себя силу less!


Об утилите и команде more, которая предназначена для постраничного просмотра больших текстовых файлов, мы уже писали. А сегодня расскажем о более функциональной команде less — она позволяет перематывать текст не только вперёд, но и назад, осуществлять поиск в обоих направлениях, переходить сразу в конец или в начало файла.

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


Содержание статьи

Синтаксис и опции less

Запись команды less в терминале выглядит так:

команда опции файл

Наиболее популярные опции:

  • -a, --search-skip-screen — не осуществлять поиск в тексте, который в данный момент отображен на экране;
  • -bn, --buffers=n — задать размер буфера памяти;
  • -c, --clear-screen — листать текст, полностью стирая содержимое экрана (построчная прокрутка работать не будет);
  • -Dxcolor, --color=xcolor — задать цвет отображаемого текста;
  • -E, --QUIT-AT-EOF — выйти, когда утилита достигнет конца файла;
  • -e, --quit-at-eof — выйти, когда утилита второй раз достигнет конца файла;
  • -F, --quit-if-one-screen — выйти, если содержимое файла помещается на одном экране;
  • -f, --force — открыть специальный файл;
  • -hn, --max-back-scroll=n — задать максимальное количество строк для прокрутки назад;
  • -yn, --max-forw-scroll=n — задать максимальное количество строк для прокрутки вперёд;
  • -i, --ignore-case — игнорировать регистр;
  • -I, --IGNORE-CASE — игнорировать регистр, даже если паттерн для поиска содержит заглавные буквы;
  • -jn, --jump-target=n — указать, в какой строке должна быть выведена искомая информация;
  • -J, --status-column — пометить строки, соответствующие результатам поиска;
  • -n, --line-numbers — не выводить номера строк;
  • -N, --LINE-NUMBERS — вывести номера строк;
  • -s, --squeeze-blank-lines — заменить множество идущих подряд пустых строк одной пустой строкой;
  • -w, --hilite-unread — выделить первую строку нового фрагмента текста.

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

  • h, H — справка;
  • Space, Ctrl+V, f, Ctrl+F — прокрутить текст на один экран вперёд;
  • Enter, Return, Ctrl+N, e, Ctrl+E, j, Ctrl+J — прокрутить текст на n строк вперед, по умолчанию n=1;
  • y, Ctrl+Y, Ctrl+P, k, Ctrl+K — прокрутить текст на n строк назад, по умолчанию n=1;
  • Ctrl+ — прокрутить текст по горизонтали в конец строки;
  • Ctrl+ — прокрутить текст по горизонтали в начало строки;
  • :d — удалить текущий файл из списка файлов;
  • Ctrl+G, :f — вывести основную информацию о файле;
  • q, Q, :q, :Q, ZZ — выход.

Перечень всех опций и внутренних команд можно просмотреть в терминале, выполнив команду

man less

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

Использование опций не является обязательным. Открыть файл можно, выполнив следующую команду:

less filename.txt

Командная строка исчезнет, а в окне терминала откроется указанный вами документ. После этого его можно читать, пользуясь для прокручивания строк вперед и назад клавишами Enter и y либо другими.

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

Less в Linux: Как легко читать огромные файлы в терминале

Опции нужны для того, чтобы оптимизировать отображение текста и сделать работу с утилитой более удобной. К примеру, в текстах часто встречаются множественные пустые строки. Они «съедают» место на экране, не принося никакой пользы. Поэтому к команде less стоит всегда добавлять опцию -s или --squeeze-blank-lines — она удаляет лишние пустые строки.

less -s textfile.txt

Сравните как выглядит один и тот же текст с использованием опции -s (слева) и без неё (справа).

Less в Linux: Как легко читать огромные файлы в терминале

Впрочем, утилиту less зачастую используют не для чтения текста, а для поиска определенных участков в больших документах. Если вам нужно найти то или иное слово, напечатайте в поле с мигающим курсором /текст (для поиска вниз по тексту) или ?текст (чтобы выполнить поиск less вверх по тексту) и нажмите Enter. При необходимости используйте стандартные паттерны. Все участки текста, которые соответствуют заданным условиям поиска, будут подсвечены контрастным цветом.

Less в Linux: Как легко читать огромные файлы в терминале

Если вас интересует как выйти из less, то для выхода из утилиты и возвращения к командной строке терминала нажмите q, ZZ или выполните другую команду, сигнализирующую о завершении работы.

Следует заметить, что утилита less предназначена только для просмотра документов. Она не позволяет вносить в текст правки, форматировать или пересохранять его.

Выводы

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

Оставить комментарий


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