Isso é o que eu uso para descobrir em um arquivo de log se o programa foi iniciado com sucesso.
Para encontrar o tamanho atual do arquivo, você pode usar:
current_pos=$(stat -c "%s" file)
E então você usa a saída de
tail -c +$current_pos file
para começar a pesquisar a partir da posição memorizada.
Mas então é possível que quando você lê o tamanho do arquivo (e também quando você faz a busca) a última linha esteja incompleta. Isso depende do programa que grava o arquivo.