У меня есть несколько команд, которые я выполняю в терминале, которые выводят все, что они делают, и это здорово, но мне не нужно, чтобы все мое окно заполнялось тысячами строк ввода. Есть ли способ сделать так, чтобы выводилось только последнее число выводимых строк, а остальные удаляются?

3 ответа3

0

Вы можете использовать команду tail. В нем будут перечислены только несколько последних строк файла, указанных пользователем. Если также будет перечислять только последние несколько строк в режиме реального времени, если это необходимо. tail -n 5 напечатает последние 5 строк. Просто сделай мужской хвост, чтобы получить другие варианты.

0

Не зная, для каких команд вы видите много выходных данных, я могу сказать, что вы можете ограничить количество строк, выводимых на терминал с помощью команды tail, используя "pipe" для отправки вывода 1-й команды 2-й команде. Примером может быть:

ls | tail -n 5  

Вместо отправки вывода команды ls на экран он отправляет (или передает) ее команде tail. Здесь команда tail выведет последние 5 строк вывода ls, так как указана опция -n 5.

0

Консольный вывод - это просто строки, записанные одна за другой в выходной поток (стандартный вывод или стандартная ошибка). Консольные окна и терминальные приложения просто отображают их, прокручивая предыдущие вверх. Они не могут стереть уже напечатанные строки. Вам нужно либо:

  1. Консольное / терминальное приложение со встроенной возможностью пропустить все, кроме последних n строк, при перерисовке при получении новой строки; это может быть возможно, но я не знаю как.
  2. Дополнительное приложение, которое может сделать это, запускается из консоли в качестве оболочки для вашего приложения; Возможно, screen и tmux могут это сделать, но я не знаю как.
  3. Приложение, которое может сделать это, для которого вы передаете консольный вывод вашего приложения; multitail подойдет здесь, например:

    find | env LINES=10 multitail -j
    

    будет отображать результат find , никогда не показывая более 10 строк одновременно.

Вы не указали ОС, на которой работаете, но для Linux доступно multitail , например, в виде пакета Ubuntu.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .