Isso é exatamente o que retail
faz. retail
é a cauda com expressões regulares, uma ferramenta que escrevi exatamente para o caso de uso que você tem aqui. No seu caso, você usaria:
retail -f -r ddddddddddddddd -u hhhhhhhhhhhhhhh logfile > log.tmp
-f
é a opção padrão tail -f
. -r
usa uma expressão regular para iniciar o intervalo de linhas a incluir e -u
tem uma expressão regular para continuar até. Começa na última ocorrência do padrão -r
e sai depois da impressão da primeira ocorrência do padrão -u
depois disso.
Se você quiser começar da primeira instância do padrão, use -b
em combinação com -r
. Ambas as expressões regulares são EREs , sem nenhuma ancoragem implícita, mas você pode usar ^
e $
para ancorar a partida como de costume.
Você pode obter e criar retail
com:
git clone https://github.com/mwh/retail.git
cd retail
./configure
make
make install
Ele é instalado em ~/.local/bin
por padrão, mas você pode alterá-lo ou apenas copiar o executável onde quiser.
retail
é totalmente compatível com POSIX , embora eu não recomende usar realmente como seu sistema tail
.