Просмотр текста командами more и less

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

Просмотр текста командами more и less

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

more

Простейшая программа для постраничного просмотра текста more используется с именем файла(ов) в качестве параметра или как последняя команда в цепочке перенаправлений ввода/вывода. С помощью опций +<число> или +/<образец текста> можно начать просмотр с интересующей строки.

  1. Просмотр файла file1 с 20-ой строки

more +20 file1

  1. Поиск в выводе программы grep подстроки 13:00 и просмотр вывода, начиная с этого места

grep ntpd /var/log/messages | more +/13:00 more умеет листать текст вперёд. Текст из файла, в принципе, можно пролистать назад, но это нетипичное использование more. Основные интерактивные команды more похожи на команды редактора vi: h – help q – выход SPACE – пролистать один экран d – пролистать пол экрана RETURN – пролистать одну строку /pattern – пролистать до строки содержащей подстроку pattern n – повторить поиск подстроки = – показать номер текущей строки

n – перейти к следующему файлу
p – вернуться к предыдущему файлу
f – напечатать имя текущего файла и номер строки в нем
! – запуск shell-команды

Только при просмотре файлов:

b – пролистать экран назад

v – вызвать текстовый редактор, установив курсор на текущую строку

less

less – существенно более развитая команда для пролистывания текста. При чтении данных со стандартного ввода она создает буфер, который позволяет листать текст как вперед, так и назад, а также искать как по направлению к концу, так и по направлению к началу текста. Заполнение буфера идет блоками по 64KB, поэтому (если текст на стандартный ввод подается медленно) возможна ситуация "подвисания", когда less показывает очередные поступившие строки, но не позволяет выполнить какую-либо команду.

less понимает все команды more плюс свои.

h – вызов справки
q – выход
SPACE – на экран вперёд
b – пролистать экран назад
k и j или стрелки вверх и вниз – вертикальная прокрутка по строке
g – перейти на 1-ую строку
<N>g – перейти на строку N
G – перейти на последнюю строку
F – перейти на последнюю строку файла и ожидать записи новых строк (аналог tail -f, не работает со стандартным вводом)
/pattern – поиск по шаблону вперёд
?pattern – поиск по шаблону назад
n – следующее совпадение
N – предыдущее совпадение
mбуква – отметить позицию буквой
'буква (апостоф и буква) – перейти на отмеченную позицию
! – запуск shell-команды (% – имя текущего файла, к примеру: ! cat % > /tmp/foobar.txt)

Только для файла

v – запуск редактора

Только для стандартного ввода

s filename – сохранить выводимый текст в файл filename

Параметры вывода текста less можно указывать как в виде опций, так и в интерактивном режиме. Повторный ввод опции в интерактивном режиме отменяет действие.

-g – при поиске подсвечивать только текущее найденное слово (по умолчанию подсвечиваются все вхождения)
-N – показывать номера строк