Зробити менше друку для stdout, якщо на одному екрані може відображатися весь файл


13

Коли moreпередається файл, вміст якого може відображатися на одному екрані, він просто записує вміст файлу в stdout без пагинації. Якщо файл не може вміститися на одному екрані, moreвін його заповнить.

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

Як я можу змусити lessзаписати вміст файлу в stdout, якщо вміст файлу може вміститися на одному екрані та застосувати його до сторінки, як це було б інакше?

less  more 

Відповіді:


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, не так, як ви очікували. Оскільки менше є пейджером, який діє на альтернативному екрані у вашому терміналі, якщо ви не відключите ініціалізацію termcap, він буде як запущений, так і закритий на альтернативному екрані. Напевно ви побачите швидкий спалах.
Кріс Даун

Тож я нічого не бачу, echo lol | LESS=F lessбо він друкує на альтернативному екрані і негайно перемикається назад? Маю сенс здогадуватися (хоча я не бачу швидкого спалаху). Спасибі.
Джессі

Ба! Цікаво, що, до біса, менше думали розробники, використовуючи альтернативний екран, якщо -F присутній і "використовується". Вже не має сенсу використовувати альтернативний екран у цьому випадку.
ThiefMaster

Див. Unix.stackexchange.com/q/107315/85237 про те, щоб зробити less -Fроботу без -X.
Джон Меллор
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.