Есть ли способ динамически обновлять меньшую команду?

Мне нравится команда watch, но она имеет его ограничения .

Мне любопытно узнать, могу ли я имитировать функции watch с less. Я в основном ищут возможность прокручивать мой каталог, поскольку он динамически модифицируется с помощью запущенного скрипта.

111 голосов | спросил Zaid 26 52010vEurope/Moscow11bEurope/MoscowFri, 26 Nov 2010 20:06:09 +0300 2010, 20:06:09

11 ответов


95

В less вы можете ввести F, чтобы продолжить чтение в конце файла (например, tail -f); вы можете ввести :e и имя файла для просмотра другого файла, но, к сожалению, если вы введете имя текущего файла, less не перезагрузит файл. Однако есть хитрость, чтобы перечитать текущий файл, предложенный sabgenton : type :e и введите имя несуществующего файла ; что меньше отображает сообщение об ошибке, а затем перезагружает текущий файл.

Если вы ищете альтернативу watch ls, вот несколько:

  • Современные файловые менеджеры (например, Nautilus, Thunar, Konqueror, Dolphin, Finder) обновляют представления в режиме реального времени.
  • В Emacs нет обновления в режиме реального времени, но с auto-revert-mode, он перезагружает файл или каталог каждые 5 секунд (задержка настраивается).
  • Хотя w3m - это, в первую очередь, веб-браузер, он делает доступным просмотрщик каталогов и текстовых файлов. Нажмите R, чтобы перезагрузить (локальный) URL.
ответил Gilles 27 62010vEurope/Moscow11bEurope/MoscowSat, 27 Nov 2010 00:29:58 +0300 2010, 00:29:58
58

Shift + F сделает less похожим на tailf. То есть, он обновляется, если к файлу добавляется больше данных.

ответил balki 26 52010vEurope/Moscow11bEurope/MoscowFri, 26 Nov 2010 20:59:37 +0300 2010, 20:59:37
33

Просто введите:

less +F filename

Эмулирует нажатие «F» в редакторе.

ответил jhclark 21 J0000006Europe/Moscow 2012, 17:58:36
15
Страницы

man могут быть очень информативными. Не пугайтесь ими. Среди всего остального, man less говорит, что вы можете использовать команду R для:

   R      Repaint the screen, discarding any buffered input.  Useful if the file is changing while it is being viewed.

(Я понимаю, что этот вопрос старше 6 лет, но он появляется в поиске Google, поэтому я не единственный, кто нажал ссылку, чтобы перейти сюда.)

ответил destenson 13 TueEurope/Moscow2016-12-13T11:32:27+03:00Europe/Moscow12bEurope/MoscowTue, 13 Dec 2016 11:32:27 +0300 2016, 11:32:27
5

Клавиша «F» при запуске less будет выполнять «следовать», аналогичную tail -f, но я не уверен, что это достигнет того, ищите здесь.

ответил Dave Jennings 26 52010vEurope/Moscow11bEurope/MoscowFri, 26 Nov 2010 20:21:17 +0300 2010, 20:21:17
5

Обычно я просто набираю G для вывода вывода на разовой основе. Я считаю, что это особенно полезно в сетевой файловой системе, такой как CIFS.

ответил jorb 2 Mayam12 2012, 02:42:37
1

Вы можете использовать vim для чтения файла, а затем добавить следующее сопоставление в ваш файл .vimrc, и вы можете легко перезагрузить файл с помощью , r :

let mapleader = ","
nnoremap <leader>r :edit <CR>

Обратите внимание, что если вы уже отредактировали файл, vim будет жаловаться. Просто измените на

let mapleader = ","
nnoremap <leader>r :edit! <CR>

Чтобы игнорировать изменения.

ответил puk 17 MaramSat, 17 Mar 2012 03:43:02 +04002012-03-17T03:43:02+04:0003 2012, 03:43:02
0

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

ответил Gert 26 52010vEurope/Moscow11bEurope/MoscowFri, 26 Nov 2010 22:41:11 +0300 2010, 22:41:11
0

Если вы не прочь использовать браузер, вы можете запустить веб-сервер Algernon с помощью этой команды:

algernon -a -t /directory/name

Затем будет отображаться список файлов и автоматически обновляется в http: //localhost: 3000 /

ответил Alexander 5 J0000006Europe/Moscow 2017, 22:59:40
0

На Mac, R для repaint не перезагружает файл, как в Linux.

Обходной путь для Mac - нажать hq, который откроет страницу справки, а затем закроется. Он имеет побочный эффект перезагрузки файла.

(Это также может быть более надежным, чем R для тех, у кого есть проблемы с Linux.)

ответил wisbucky 24 Mayam18 2018, 00:17:36
0

Я нашел эту нить, как и все остальные. Я хотел бы добавить решение, когда вы уже находитесь в конце файла, используя 'g', за которым следует 'G', принудительно обновит файл.

Я закончил создание макрокоманды для этого в моей терминальной программе (SecureCRT). Макрос просто «gG».

ответил ZMitchell 24 Maypm18 2018, 23:54:04

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132