Este snippet funcionará:
tail -F $LOGFILE 2>&1 | sed -e "$(echo -e "s/^\(tail: .\+: file truncated\)$/\e[2J/")"
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?