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

13

Когда moreпередается файл, содержимое которого может быть отображено на одном экране, он просто записывает содержимое файла в стандартный вывод без разбивки на страницы. Если файл не помещается на одном экране, moreразбейте его на страницы.

lessимеет возможность выйти, если файл, с которым он работает, может быть отображен на одном экране ( -F), и имеет функцию more-emulation, которая ведет себя подобно -Fфлагу, но ни одна из этих опций, кажется, не вызывает lessзапись содержимого файла в стандартный вывод, если содержимое может поместиться на одном экране.

Как я могу lessзаписать содержимое файла в стандартный вывод, если содержимое файла может уместиться на одном экране и разбить файл на страницы, как обычно, в противном случае?


источник

Ответы:

16

Использование less -FX. От man less:

   -F or --quit-if-one-screen
          Causes less to automatically exit if the entire file can be dis-
          played on the first screen.

   -X or --no-init
          Disables sending the termcap initialization and deinitialization
          strings  to  the  terminal.   This is sometimes desirable if the
          deinitialization string does something unnecessary, like  clear-
          ing the screen.
Крис Даун
источник
Почему работает -Fтолько с -X?
Джесси
2
@Jesse На самом деле работает нормально -X, но не так, как вы ожидаете. Так как less это пейджер, который действует на альтернативном экране вашего терминала, если вы не отключите инициализацию termcap, он будет запускаться и выходить на альтернативном экране. Вы, вероятно, увидите быструю вспышку.
Крис Даун
Так что я ничего не вижу, echo lol | LESS=F lessпотому что он печатает на альтернативном экране и сразу переключается обратно? Это имеет смысл, я думаю (хотя я не вижу быстрой вспышки). Благодарю.
Джесси
Ба! Интересно, что, черт возьми, меньше думают разработчики, когда используют альтернативный экран, если -F присутствует и «используется». В этом случае нет никакого смысла использовать альтернативный экран.
ThiefMaster
См. Unix.stackexchange.com/q/107315/85237 для выполнения less -Fработы без -X.
Джон Меллор