A maneira mais fácil IMHO é:
!>%
Ou seja: marca de exceção "!"
, sinal maior ">"
e sinal de porcentagem "%"
.
Talvez isso ajude.
Eu prefiro usar "menos" para ler arquivos de log. Ao contrário de "tail -f", posso seguir ( Shift + F
), parar ( Ctrl + C
) e navegar para cima e para baixo u
e d
, etc.
Agora, o que eu realmente gostaria de ter é a capacidade de esvaziar um determinado arquivo de log de dentro do programa. Isso é possível?
Você pode simplesmente pressionar v para editar o arquivo no vim. No vim você deve acabar na linha em que você esteve pela última vez em menos, portanto, pressionar Vggd deve apagar da sua posição atual para o topo do arquivo. Com : wq você deve voltar para menos.
No entanto, o aplicativo que grava o arquivo de log pode não gostar disso, portanto, sua milhagem varia.
O modo mais fácil de pensar é provavelmente usar ^Z
para colocar o processo atual em segundo plano, remover seus arquivos e digitar fg
para voltar ao seu processo. Dito isso, remover arquivos de log não é a melhor maneira de lidar com eles, é muito melhor usar logrotate
para compactá-los.
Você pode usar !cp /dev/null %
para truncar o arquivo exibido no momento. Mas, como outros notaram, pode não funcionar corretamente (por exemplo, se o aplicativo que está gravando no arquivo mantém o arquivo aberto em vez de abrir / gravar / fechar para cada entrada). Você também pode tentar !mv -f % %.old && cp /dev/null %
, o que irá mover o arquivo para fora do caminho e recriá-lo.
De qualquer maneira, vejo um comportamento estranho de menos ao tentar isso. ( R não atualiza do disco, G não busca e exibe o atual EOF (geralmente usado para “puxar” novas linhas sem entrar no 'modo de cauda') , h q G lê em novas linhas do arquivo, mas acrescenta todo o conteúdo do arquivo ao final do buffer em vez de apenas adicionando as novas linhas ao final (o arquivo tem linhas 1, depois 1/2, depois 1/2/3, etc. com o passar do tempo, less pode mostrar 1/1/1/2/1 / 2/1/2/3/1/2/3/1/2/3/4/1/2/3/4/1/2/3/4/1/2/3/4/1/2/3/4/5 se eu estivesse fazendo “hqG” duas vezes depois de cada nova linha)).
Estes mesmos problemas parecem acontecer com o método "use v para truncar-por-editor" também.