Como uma solução awk pura, tente:
tail -f log.file | awk ' $0!=last{ print $1 " " $4 " " $9} {last=$0}'
Este imprime uma nova linha de saída somente se a linha de entrada for diferente da linha de entrada anterior.
Como uma pequena variação, esta imprime uma nova linha de saída somente se essa linha de saída for diferente da linha de saída anterior:
tail -f log.file | awk '{$0=$1" "$4" "$9} last!=$0{print} {last=$0}'
Exemplo
Vamos tentar este arquivo de teste:
$ cat logfile
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 11
1 2 3 4 5 6 7 8 19
1 2 3 4 5 6 7 8 19 12
1 2 3 4 5 6 7 8 19 13
1 2 3 4 5 6 7 8 19
1 2 3 4 5 6 7 8 29
o awk filtra as linhas de saída duplicadas:
$ cat logfile | awk '{$0=$1" "$4" "$9} last!=$0{print} {last=$0}'
1 4 9
1 4 19
1 4 29