Quero assistir a um arquivo que é substituído a cada 5 minutos less
. Como posso less
seguir o novo descritor de arquivo em vez de manter o antigo exibido? watch "cat file"
não o fará porque o arquivo é muito longo para caber em uma janela do terminal.
9
tail -f
página do manual. No entanto, esclareci minha pergunta.less --follow-name
see unix.stackexchange.com/a/74287/112522Respostas:
Você pode obter esse efeito emitindo o
F
comando (Shift+F
) enquanto visualiza o arquivoless
. Para parar de seguir e voltar à paginação, pressioneCtrl+C
Como o arquivo é alterado apenas a cada 5 minutos, você também pode usar
tail -f
e especificar um tempo de suspensão mais longo com-s
(o padrão é 1 segundo). Por exemplo,verifica
myfile
a saída a cada 60 segundos.EDIT: Devido a uma pergunta enganosa, a resposta acima foi insatisfatória. Segunda tentativa a seguir:
Para reabrir o mesmo arquivo a
less
cada 5 minutos, tente o seguinte:Isso gerará um subshell que dá suporte a outro processo de shell instruído a interromper seu processo pai após 5 minutos. Em seguida, ele abre o arquivo com
less
. Quando o comando shell em segundo plano mata o subshell pai, ele mata todos os seus filhos, incluindo o comando "less". Em seguida, o loop inicia o processo novamente.A única maneira fácil que conheço de matar isso é matar o terminal em que está seu shell original. Se isso é inaceitável, você pode usar o truque "killfile":
Para parar de fazer
stuff
,rm
o killfile em outro shell.fonte
watch -n 1 less <filename>
Você pode fazer algo semelhante em
vim
.Inicie uma sessão do servidor de
vim
:Em outro console, monitore o arquivo para atualizações e diga à sessão do vim para recarregar o arquivo assim que ele for atualizado:
Algumas dicas.
vim
não estiver compilado com oclientserver
recurso.inoifywait
parará de funcionar quando o arquivo for excluído. Espero que seu arquivo seja substituído. É possível contornar isso também, é claro.E se você quiser ter uma
less
experiência mais parecida, poderá usar asless
macros para inserir suasless
combinações de teclasvim
.fonte
Encontrei um programa antigo, mas muito bom, "menos" (um "pager"). Ele possui um comando "R" que atualiza o arquivo.
É chamado "lv" , você pode instalá-lo no Ubuntu usando:
No entanto, parece não ter nenhum recurso de carregamento automático.
fonte
Você pode tentar este comando: arquivo -f
fonte
Tail é seu amigo. "tail -f filename" mostrará novas linhas quando elas aparecerem.
Ou, se você estiver procurando por alterações feitas no meio do arquivo, talvez execute um script a cada poucos minutos para fazer uma cópia do arquivo em um local temporário e fazer uma diferença nele?
fonte
tail -f
continuaria lendo o antigo.