Мне нравится watch
команда, но у нее есть свои ограничения .
Мне любопытно узнать, могу ли я имитировать функциональность watch
с less
. В основном я ищу возможность прокручивать мой каталог, так как он динамически модифицируется с помощью запущенного скрипта.
tail -f foo.log | grep bar
, и чтобы иметь возможность динамически изменить команду grep с перезапуском конвейера хвоста / grep.Ответы:
В
less
, вы можете набрать,F
чтобы продолжить чтение в конце файла (напримерtail -f
); Вы можете ввести:e
и имя файла для просмотра другого файла, но, к сожалению, если вы введете имя текущего файла, файлless
не будет перезагружен. Однако есть способ заставить его перечитать текущий файл, предложенный sabgenton : введите:e
и введите имя несуществующего файла ; Это вызывает меньше, чтобы отобразить сообщение об ошибке, а затем перезагрузить текущий файл.Если вы ищете альтернативу
watch ls
, вот несколько:auto-revert-mode
он будет перезагружать файл или каталог каждые 5 секунд (задержка настраивается).R
чтобы перезагрузить (локальный) URL.источник
less +F
только часы для добавленного контента. Используйте,:e nonexistentfile
чтобы перечитать полностью измененный ввод.R
надежно не обновлять файл. Он обновляет экран и стирает некоторые входные буферы, но фактически не перезагружает данные из файла при любых обстоятельствах (только если файл большой? Я не углублялся в код).Shift+Fсделает
less
аналогичноtailf
. То есть он обновляется, если к файлу добавляются дополнительные данные.источник
less
эти изменения не отображаются.$COMMAND | less
. Интересно, есть ли хороший способ обойти это? Вы можете делать такие вещи, как,$COMMAND > /tmp/file & less /tmp/file
но это не очень приятно.Просто введите:
Это эмулирует нажатие «F» в редакторе.
источник
alias check="less +F"
к моему.bashrc
.man
страницы могут быть очень информативными. Не пугайтесь их. Среди всего прочегоman less
говорится , что вы можете использоватьR
команду для:(Я понимаю, что этому вопросу более 6 лет, но он возникает в поиске Google, поэтому я не единственный, кто нажал на ссылку, чтобы попасть сюда).
источник
less
не открывал файл заново, используя его имя файла - то есть, когда изменялся индекс файла (как при перезаписи файла с использованиемmv
), то содержимое старого файла оставалось (вероятно, старый индекс был перечитан) - - 2. Первая отображаемая строка, вероятно, начинается с того же байтового смещения, что и в исходном содержимом файла. Таким образом, при изменении длины строки первая отображаемая строка может быть неполной, и отображаемые строки могут перемещаться вверх / вниз.R
не всегда работает См. Unix.stackexchange.com/questions/4351/…Клавиша «F» во время работы
less
будет выполнять «следовать», какtail -f
, но я не уверен, что это даст то, что вы ищете здесь.источник
Я обычно просто Gпечатаю вывод на разовой основе. Я считаю это особенно полезным в сетевой файловой системе, такой как CIFS.
источник
man less
: 'G или> или ESC-> Перейти к строке N в файле, по умолчанию конец файла.' Я удаляю свои старые неправильные комментарии здесь, извините за них.less
Марк Нудельман ответил следующее: «Команда G обычно не вызывает повторное чтение файла, как это делает команда R. Может показаться, что это происходит, если конец файла еще не прочитан, когда G вызывается, так что переход к концу файла должен прочитать данные там в первый раз. Например, если вы переходите к концу с помощью G, а затем переходите к началу с 1G, тогда другая программа изменяет данные в конец файла (без изменения длины) "(продолжение)Вы можете использовать vim, чтобы прочитать файл, затем добавить следующее сопоставление в ваш
.vimrc
файл, и вы можете легко перезагрузить файл с ,r:Обратите внимание, что если вы уже отредактировали файл, vim будет жаловаться. Просто измените на
Игнорировать изменения.
источник
vim
из твоих холодных мертвых рук. Контекст вопроса примерно такойless
, но я, как человек с мономаниакальными тенденциями, сочувствую!R
для перекраски не всегда перезагрузить файл. [1]Обходной путь, который всегда перезагружает файл, состоит в том
hq
, чтобы нажать , который откроет страницу справки, затем выйдет. У него есть побочный эффект, заставляющий файл перезагрузиться.[1] Вот несколько примеров ситуаций, которые
R
делают и не перезагружаются:>
и>>
изменения: перезагружаютсяsed -i
, gEdit, TextEdit: НЕ перезагружатьсяvi
изменения: перезагружаютсяvi
изменения: НЕ перезагружатьсяЯ считаю, что разница сводится к тому, изменяется ли индекс (вы можете проверить с помощью
ls -i foo.txt
). Если индекс изменяется, тоR
работать не будет.источник
tail -f
Вместо этого вы можете передать его по конвейеру , это приведет к тому , что вы последуете выводу. Вы бы потеряли способность перемещаться (прокручиваться) через ваш вывод, хотя.источник
Если вы не против использования браузера, вы можете запустить веб-сервер Algernon с помощью этой команды:
Список файлов будет отображаться и автоматически обновляться по адресу http: // localhost: 3000 /.
источник
less
Я просто нашел эту тему, как и все остальные. Я хотел бы добавить решение, когда вы уже находитесь в конце файла, использование «g» и «G» приведут к обновлению файла.
Я закончил тем, что сделал макро кнопку для этого в моей терминальной программе (SecureCRT). Макрос просто «gG».
источник