В оболочке UNIX, как я могу получить эффект, аналогичный watch
команде, но с подкачкой страниц, чтобы я мог прокручивать вывод, если он занимает более одного экрана?
Другими словами, я хочу программу, которая есть watch
то, что less
нужно cat
.
В качестве примера, скажем, я хотел посмотреть вывод qstat
, я мог бы использовать
watch qstat
смотреть вывод qstat, но это может показать только первый экран.
С пейджинговой версией watch
я мог бы перемещаться в выводе, так как он все еще постоянно обновляется watch
. Есть ли способ сделать это в настоящее время с существующими утилитами?
less
когда вы можете просто использоватьcat
и большее окно?Ответы:
Вместо изменения команды «смотреть» используйте экран!
Например, предположим, что вам нужно видеть 300 строк в высоту и 100 символов в ширину и перемещаться по ним. После запуска экрана принудительно задайте размер таким образом:
Теперь начните свою команду часов. Затем вы можете использовать
C-a <ESC>
страницу вокруг дисплея.К сожалению, дисплей не обновляется в режиме копирования. Но если вы хотите настроить, какую часть окна вы просматриваете, самый простой способ - это повторно запустить команды высоты / ширины, так как по умолчанию ваш терминал показывает нижний правый угол виртуального окна.
источник
C-
это акаctrl-
Вы можете попробовать это:
в то время как vmstat; спать 1; сделано | Меньше
замените vmstat на qstat и настройте сон в соответствии с вашими потребностями
источник
less
, а это означает, что вам нужно продолжать прокручивать, чтобы увидеть последние результаты.Мультитейл: http://www.vanheusden.com/multitail/
Пример:
Прокрутите назад, нажав «b» и перелистывая страницу / стрелку вверх / вниз.
источник
Хорошо, я немного поработал
watchless
. Это немного грубо, и это, кажется, еще не полностью работает, но здесь идет:Вы должны вручную использовать
R
ключ меньше, чтобы обновить дисплей.Похоже, работает для,
watchless date
но не дляwatchless qstat
илиwatchless pstree
, которые оба показывают пустым. Любые идеи?источник
mv
этот второй файл в файл, считываемыйless
какmv
атомарный. В противном случаеless
можно подумать, что файл исчез, если запрос на обновление запрашивается одновременно с записью файла в"$@" > $out
. Вы также должны записать в выходной файл один раз перед началом цикла.Я не вижу, как это может быть реализовано при изменении содержимого строки и
watch
будет возвращаться к первой строке каждые 2 секунды, даже если вы могли бы прокрутить вниз.Некоторые обходные пути:
watch 'qstat | tail -n40'
показать вывод qstat, начиная с 40-й строки снизуwatch 'qstat | grep jsmith'
чтобы получить вывод, чтобы интересующие вас строки всегда были на первом экране.Обратите внимание, что вам нужно поместить команды вокруг канала в одинарные кавычки - в противном случае вы будете передавать выходные данные
watch
, а не выходные данныеqstat
.источник
Чтобы продолжить ответ Enkrs,
смотреть 'Qstat | голова -300 | хвост -15 '
вы получите произвольные страницы в выводе qstat.
источник
Вот довольно грубый скрипт, который, кажется, работает для нескольких команд, которые я набросал
Используется как таковой:
Будучи довольно педантичным, переход между обновлениями не так гладок, как хотелось бы. Естественно, будучи простым скриптом, он не поддерживает подсветку diff (watch -d). Кроме того, анализ входных аргументов может быть сделан лучше.
источник
Как насчет просто: tail -f
источник
Я реализую простой скрипт на Python для удовлетворения этого запроса, с именем «watchall»
получите это: pip install watchall
замените часы на часы и наслаждайтесь прокручиваемым экраном. теперь он поддерживает только флаги -n и -d.
источник
можешь попробовать:
тогда в вашем файле вы должны увидеть вывод appendend (у меня сейчас нет linux box для проверки этого)
источник
file
одним и тем же выводом снова и снова. Это, конечно, не относится к первоначальному вопросу.