Я хочу посмотреть файл, который перезаписывается каждые 5 минут less
. Как я могу заставить less
следовать новому дескриптору файла вместо сохранения старого? watch "cat file"
не будет делать это, потому что файл слишком длинный, чтобы поместиться в одном окне терминала.
9
tail -f
справочной странице. Но тем не менее я прояснил свой вопрос.less --follow-name
см. Unix.stackexchange.com/a/74287/112522Ответы:
Вы можете получить этот эффект, введя
F
команду (Shift+F
) при просмотре файла вless
. Чтобы прекратить подписку и вернуться к пейджингу, нажмитеCtrl+C
Поскольку ваш файл изменяется только каждые 5 минут, вы также можете использовать
tail -f
и указать более длительное время-s
ожидания с помощью (по умолчанию 1 секунда). Например,проверяет
myfile
вывод каждые 60 секунд.РЕДАКТИРОВАТЬ: из-за вводящего в заблуждение вопроса, приведенный выше ответ был неудовлетворительным. Вторая попытка следует:
Чтобы повторно открывать один и тот же файл
less
каждые 5 минут, попробуйте следующее:Это порождает подоболочку, которая создает фон для другого процесса оболочки, которому предписано завершить родительский процесс через 5 минут. Затем он открывает файл с
less
. Когда команда фоновой оболочки убивает родительский подоболочек, она убивает всех его дочерних элементов, включая команду "less". Затем цикл запускает процесс заново.Единственный простой способ уничтожить это - убить терминал, в котором находится ваша оригинальная оболочка. Если это недопустимо, вы можете использовать трюк «killfile»:
Чтобы прекратить делать
stuff
,rm
killfile в другой оболочке.источник
watch -n 1 less <filename>
Вы можете сделать что-то подобное в
vim
.Начать сеанс сервера
vim
:Затем в другой консоли просмотрите файл на наличие обновлений и сообщите сеансу vim перезагрузить файл, как только он будет обновлен:
Несколько ошибок.
vim
не скомпилированы сclientserver
функцией в.inoifywait
перестанет работать, когда файл будет удален. Поэтому я надеюсь, что ваш файл будет перезаписан. Конечно, обойти это тоже можно.И если вы хотите иметь более
less
похожий опыт, вы можете использоватьless
макросы дляless
привязки клавишvim
.источник
Я нашел старую, но очень хорошую «менее» похожую программу («пейджер»). У него есть команда «R», которая обновляет файл.
Он называется "lv". Вы можете установить его на Ubuntu используя:
Тем не менее, похоже, нет функции автозагрузки.
источник
Вы можете попробовать эту команду: tail -f file
источник
Хвост твой друг. "tail -f filename" покажет вам новые строки, когда они появятся.
Или, если вы ищете изменения, сделанные в середине файла, возможно, запускаете скрипт каждые несколько минут, чтобы сделать копию файла во временную папку и выполнить ее различие?
источник
tail -f
бы, но все равно прочитал бы старый.