Existe uma maneira de atualizar dinamicamente o comando less?

122

Eu gosto do comando watch , mas ele tem suas limitações .

Estou curioso para saber se posso imitar a funcionalidade de watch com less . Estou procurando principalmente a capacidade de percorrer meu diretório à medida que ele é modificado dinamicamente por meio de um script em execução.

    
por Zaid 26.11.2010 / 18:06

11 respostas

103

Em less , você pode digitar F para continuar lendo no final de um arquivo (como tail -f ); você pode digitar :e e um nome de arquivo para visualizar um arquivo diferente, mas, infelizmente, se você digitar o nome do arquivo atual, less não recarregará o arquivo. No entanto, há um truque para reler o arquivo atual, sugerido por sabgenton : type :e e digite o nome de um arquivo inexistente ; que causa menos para exibir uma mensagem de erro e, em seguida, recarregar o arquivo atual.

Se você está procurando uma alternativa para watch ls , aqui estão alguns:

  • Os gerenciadores de arquivos modernos (por exemplo, Nautilus, Thunar, Konqueror, Dolphin, Finder) atualizam as exibições em tempo real.
  • O
  • Emacs não possui atualização em tempo real, mas com auto-revert-mode , ele recarregará o arquivo ou diretório a cada 5 segundos (o atraso é configurável).
  • Embora o w3m seja basicamente um navegador da Web, ele cria um diretório passável e um visualizador de arquivos de texto. Pressione R para recarregar o URL (local).
por 26.11.2010 / 22:29
61

Shift + F tornará less semelhante a tailf . Ou seja, ele é atualizado se mais dados forem anexados ao arquivo.

    
por 26.11.2010 / 18:59
34

Basta digitar:

less +F filename

Isso emula pressionando "F" no editor.

    
por 21.06.2012 / 15:58
16

man páginas podem ser muito informativas. Não se deixe intimidar por eles. Entre todo o resto, man less diz que você pode usar o comando R para:

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

(Eu sei que esta pergunta tem mais de 6 anos, mas aparece em pesquisas no Google, então eu não sou o único que clicou no link para chegar até aqui.)

    
por 13.12.2016 / 09:32
5

A tecla "F" ao executar less fará um "follow" similar a tail -f , mas não tenho certeza se isso vai atingir o que você está procurando aqui.

    
por 26.11.2010 / 18:21
5

Eu normalmente apenas digito G para ajustar a saída em uma base única. Eu acho isso especialmente útil em um sistema de arquivos de rede como o CIFS.

    
por 02.05.2012 / 00:42
1

Você pode usar o vim para ler o arquivo, em seguida, adicionar o seguinte mapeamento ao seu arquivo .vimrc e você pode facilmente recarregar um arquivo com , r :

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

Note que se você já editou o arquivo, o vim irá reclamar. Basta mudar para

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

Para ignorar alterações.

    
por 17.03.2012 / 00:43
0

Você poderia canalizá-lo para tail -f , o que resultaria em você seguindo a saída. Você estaria perdendo a capacidade de se mover (rolar) pela sua saída.

    
por 26.11.2010 / 20:41
0

Se você não é avesso a usar um navegador, pode iniciar o servidor da web Algernon com este comando:

algernon -a -t /directory/name

Uma lista de arquivos será exibida e atualizada automaticamente, no link

    
por 05.06.2017 / 21:59
0

No Mac, R para repinta não recarrega o arquivo como acontece no Linux.

Uma solução alternativa para o Mac é pressionar hq , que abrirá a página de Ajuda e sairá. Tem um efeito colateral de recarregar o arquivo.

(Isso também pode ser mais confiável do que R para aqueles que têm problemas no Linux também.)

    
por 23.05.2018 / 23:17
0

Acabei de encontrar este tópico como qualquer outra pessoa. Eu gostaria de adicionar a solução de quando você já está no final do arquivo, usando 'g' seguido de 'G' forçará uma atualização do arquivo.

Acabei fazendo um botão de macro para isso no meu programa de terminal (SecureCRT). A macro é simplesmente 'gG'.

    
por 24.05.2018 / 22:54

Tags