Unix “tail” que limpa a tela no truncamento?

1

Usando tail -F para seguir um arquivo que ainda pode não existir e funciona nos truncamentos, da seguinte maneira:

tail: cannot open 'mylog.log' for reading: No such file or directory
tail: 'mylog.log' has appeared;  following end of new file
run1
run1
run1
tail: mylog.log: file truncated
run2
run2
run2

Eu só quero ver a saída da corrida atual, já que várias execuções se encaixam em uma tela e é difícil dizer onde uma delas para e a próxima começa. Antes de executar uma corrida, eu me encontro usando

rm mylog.log; clear && tail -F mylog.log

Mas eu tenho que lembrar de fazer isso antes de cada corrida. Eu percebo que se tail limpar a tela quando ocorrer truncamento, isso me daria exatamente o comportamento que eu quero, sem exigir nenhuma interação de mim.

A página tail man não pareceu indicar que isso era possível. Tenho certeza que não posso ser o primeiro a desejar esse comportamento, alguém usou outros meios para realizá-lo?

    
por Jason Viers 23.11.2010 / 18:37

1 resposta

5

Este snippet funcionará:

tail -F $LOGFILE 2>&1 | sed -e "$(echo -e "s/^\(tail: .\+: file truncated\)$/\e[2J/")"
    
por 23.11.2010 / 18:45

Tags