Постраничный вывод файла linux

Постраничный вывод файла linux

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

Базовый синтаксис команды выглядит следующим образом:

$ less [параметры] имя-текстового-файла

Утилита поддерживает большое количество параметров, причем практически все из этих параметров являются узкоспециализированным и едва ли пригодятся большинству пользователей, а самыми востребованными из них являются параметр -N, позволяющий выводить номера строк, что очень удобно при чтении программного кода, параметр -X, позволяющий не очищать содержимое терминала после завершения работы утилиты, а также параметр -I, позволяющий осуществлять поиск в тексте без учета регистра символов. Утилита работает в интерактивном режиме и позволяет использовать команды для навигации по содержимому файла, поиска строк и управления работой утилиты:

Команда Назначение
Клавиша со стрелкой вниз, Enter, e, j Перемещение на одну строку к концу файла
Клавиша со стрелкой вверх, y, k Перемещение на одну строку к началу файла
Пробел, f Перемещение на одну страницу к концу файла
b Перемещение на одну страницу к началу файла
/текст Поиск текста по направлению к концу файла
?текст Поиск текста по направлению к началу файла
n Повторение предыдущего поиска
N Повторение предыдущего поиска в обратном направлении
Home, g Переход к первой строке файла
Ng
Переход к строке файла номер N
End, G Переход к последней строке файла
Home, p Переход к началу файла
Np
Переход к позиции файла в N процентов
q Завершение работы утилиты
h Вывод информации о доступных командах

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

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

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

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

$ less oui.txt
OUI/MA-L Organization
company_id Organization
Address

00-22-72 (hex) American Micro-Fuel Device Corp.
002272 (base 16) American Micro-Fuel Device Corp.
2181 Buchanan Loop
Ferndale WA 98248
US

00-D0-EF (hex) IGT
00D0EF (base 16) IGT
9295 PROTOTYPE DRIVE
RENO NV 89511
US

08-61-95 (hex) Rockwell Automation
086195 (base 16) Rockwell Automation
1 Allen-Bradley Dr.
Mayfield Heights OH 44124-6118
oui.txt

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

Читайте также:  Создание своего графического линукса

Поиск в текстовом файле

Для поиска в текстовом файле нужно открыть этот файл и воспользоваться командами /текст или ?текст. Например:

San Francisco CA 94107
US

50-EC-50 (hex) Beijing Xiaomi Mobile Software Co., Ltd
50EC50 (base 16) Beijing Xiaomi Mobile Software Co., Ltd
The Rainbow City Office Building, 68 Qinghe Middle Street Haidian District
Beijing Beijing 100085
CN

60-61-DF (hex) Z-meta Research LLC
6061DF (base 16) Z-meta Research LLC
8365 Quay Drive
Arvada CO 80003
US

70-57-BF (hex) New H3C Technologies Co., Ltd
7057BF (base 16) New H3C Technologies Co., Ltd
466 Changhe Road, Binjiang District
Hangzhou Zhejiang 310052
CN

Если вы хотите осуществлять поиск без учета регистра, следует открыть файл с использованием параметра -I:

$ less -I oui.txt
F4-BD-9E (hex) Cisco Systems, Inc
F4BD9E (base 16) Cisco Systems, Inc
80 West Tasman Drive
San Jose CA 94568
US

58-85-E9 (hex) Realme Chongqing MobileTelecommunications Corp Ltd
5885E9 (base 16) Realme Chongqing MobileTelecommunications Corp Ltd
No.24 Nichang Boulevard, Huixing Block, Yubei District, Chongqing.
Chongqing China 401120
CN

BC-23-92 (hex) BYD Precision Manufacture Company Ltd.
BC2392 (base 16) BYD Precision Manufacture Company Ltd.
No.3001, Bao He Road, Baolong Industrial, Longgang Street,Longgang Zone, Shenzhen
shenzhen 518116
CN

94-E6-F7 (hex) Intel Corporate
/cisco

Как видите, результаты поиска отличаются.

Чтение программного кода

Для чтения программного кода удобнее использовать режим вывода номеров строк. Для этого следует использовать параметр -N.

$ less -N usals.c
1 #include
2 #include
3
4 float deg_to_rad(float degrees)
5 {
6 return degrees * M_PI / 180.0;
7 }
8
9 float rad_to_deg(float radians)
10 {
11 return radians * 180.0 / M_PI;
12 }
13
14 /*float usals(float sitelong, float sitelat, float satlong)
15 {
16 float cangle, elevation, intangle, satazimuth, satelevation, azimuth;
17
18 sitelong = deg_to_rad(sitelong);
19 sitelat = deg_to_rad(sitelat);
20 satlong = deg_to_rad(sitelong);
21
22 cangle = cos(sitelong)*cos(satlong-sitelong);
usals.c

Навигация по файлу будет осуществляться аналогичным образом. Для перехода к строке с заданными номером следует использовать команду Ng, то есть, к примеру, для перехода к десятой строке следует использовать команду 10g.

Источник

Команда more в Linux

Утилита more предназначена для постраничного просмотра файлов в терминале Linux. Своим названием она обязана надписи more (в русскоязычном варианте — дальше), появляющейся внизу каждой страницы.

Команда more linux — одна из самых примитивных команд для работы с текстом. Её ближайшая родственница — команда less — обладает куда большим набором опций и дополнительных возможностей. Давайте разберемся с её синтаксисом и примерами использования.

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

В эмуляторе терминала Linux команда записывается так:

$ more опции файл

  • -d — вывод информации в конце страницы о клавишах, использующихся для продолжения работы, завершения её или получения инструкций;
  • -l — игнорирование в тексте символа разрыва страницы;
  • -f — подсчёт числа логических строк вместо экранных;
  • -p — очистка экрана терминала для того, чтобы пользователю не пришлось пользоваться прокруткой перед выводом следующей порции текста;
  • -c — устранение потребности в прокрутке (как и -p) — отображение текста, начиная с верха экрана, и стирание при этом предыдущего вывода построчно;
  • -s — замена нескольких пустых строк, расположенных подряд, одной пустой строкой;
  • -u — удаление подчёркивания;
  • -n — отображение n-го количества строк;
  • +n — отображение текста, начиная со строки с номером n;
  • +/строка — поиск в файле указанной строки и начало вывода текста именно с неё;
  • —help — вызов справки;
  • -v (—version) — вывод на экран текущей версии утилиты.
Читайте также:  Proprietary drivers manjaro linux

Также у команды more есть собственные горячие клавиши и интерактивные команды:

  • h (?) — помощь (вывод информации только об интерактивных командах);
  • ПРОБЕЛ — отображение следующей порции текста (по умолчанию количество строк зависит от текущего размера окна терминала);
  • z — то же, что и ПРОБЕЛ;
  • ENTER — вывод текста построчно (шаг команды — одна строка);
  • d (^D) — прокрутка текста на количество строк, соответствующее размеру терминала;
  • q (Q) — выход из утилиты;
  • s — переход на одну строку вперёд;
  • f — переход на одну экранную страницу вперёд;
  • b (^B) — переход на одну экранную страницу назад;
  • — возвращение к месту начала поиска;
  • = — отображение текущего количества строк;
  • /pattern — поиск с использованием регулярных выражений;
  • n — поиск слов и фраз, соответствующих последнему использованному регулярному выражению;
  • !command (:command) — выполнение команды в субоболочке;
  • v — открытие файла в текстовом редакторе, назначенном по умолчанию, а если таковой не найден, использование консольного текстового редактора для открытия файла;
  • ^L — удаление с экрана всего, кроме содержимого файла;
  • :n — переход к следующему файлу;
  • :p — переход к предыдущему файлу;
  • :f — вывод названия текущего файла и количества строк в нём;
  • . — повторное выполнение предыдущей команды.

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

Для того, чтобы просмотреть текст из файла, применяется команда:

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

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

Порой необходимо вывести на экран не весь текст, а только его часть. Для таких случаев предусмотрены опции (минус) и + (плюс), рядом с которыми указывается число строк. К примеру, чтобы увидеть содержимое файла, начиная с 8-й строки, следует добавить к команде опцию +8, а чтобы команда выводила результат, состоящий максимум из 5-ти строк, опцию -5:

Читайте также:  Настройка cisco anyconnect vpn linux

more +8 -5 example-file-for-more-command.txt

По умолчанию команда more Linux считает строкой именно экранную строку — количество символов, которое помещается в один ряд по ширине окна. Для выполнения счёта в логических строках (при наборе текста они разделяются нажатием Enter), используется опция -f. Пример:

more -f +8 -5 example-file-for-more-command.txt

Впрочем, more умеет работать не только с текстовыми файлами — в неё можно перенаправлять вывод других команд (конвейеризация). Первой указывается основная команда, второй — more с требуемыми опциями. Команды обязательно разделяются вертикальной чертой. Пример:

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

Например, для того, чтобы узнать номер текущей строки, следует нажать клавишу =, а чтобы просмотреть файл в текстовом редакторе — клавишу v.

Следует заметить, что не все интерактивные команды могут быть выполнены, если в утилиту перенаправлен вывод другой команды. Открытие текстового редактора, как и переход на одну страницу назад (b или ^B) работает только при просмотре текстовых файлов.

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

Выводы

Эта вполне подходит для выполнения наиболее тривиальных задач при просмотра текста. У неё простой синтаксис, мало опций и небольшое количество дополнительных возможностей для управления выводом, однако, иногда и этого набора более чем достаточно.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

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

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

3 ответа 3

@pytak @ArcherGodsonну давайте) поумничайте)more — в одну сторону, less — в обефайлы потому что написав find | less — получил ругательство потому как ответ не может быть короче 20 символов

Какие 20 символов, какой ответ, ты чего?))) даже на пустой файл less отрабатывает так как положено. )))

)))) Антон имел ввиду ограничения хэшкода на размер поста.. я б вставил пробелов, но это моё мнение )

Вот смотри ка, работает, если дать комментарий сначала

Мож кому пригодится: [как выйти из vim][1] ))) [1]: wiki.firstvds.ru/index.php/…%D0%BA%D1%80%D0%B0%D1%82%D0%BA%D0%BE%D0%B5_%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE#.D0.9A.D0.B0.D0.BA.D0.B2.D1.8B.D0.B9.D1.82.D0.B8_.D0.B8.D0.B7_.D1.80.D0.B5.D0.B4.D0.B0.D0.BA.D1.82.D0.BE.D1.80.D0.B0_vi

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.7.14.43533

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник

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