Você precisa de um arquivo de posição. O arquivo de posição deve armazenar o tempo e o tamanho (em byte) do arquivo na leitura inicial ou a posição do arquivo na última leitura.
Você usaria tail -c +bytepos
para procurar essa posição e, em seguida, restringir a saída usando sed '/PATTERN/!q' FILE
, que deve copiar seu stdout até que ele não corresponda mais a PATTERN. Você gostaria de gerar um padrão negativo embora. De lá apenas cano wc para contar linhas.
Então, algo como (não testado):
tail -c +bytepos | sed '/timestamp/!q' | wc