Tente isto:
my_strange_program /var/log/messages > /tmp/tmpfile | tail -F /var/log/messages /tmp/tmpfile | my_log_scanner
Estou procurando um comando ou um script bash que possa executar o seguinte:
Ouseja:euqueroum"supermerge" para mesclar o padrão no fluxo com conteúdo escrito continuamente para um arquivo de log (var / log / messages neste exemplo). O resultado deve ser escrito como padrão.
O motivo é verificar algumas mensagens de erro e essas mensagens podem ser gravadas em um arquivo de log e no padrão.
Por exemplo:
my_strange_program /var/log/messages | supermerge /var/log/messages | my_log_scanner
Nota: Os arquivos de log podem girar: mensagens, mensagens.1, mensagens.2 etc. Portanto, não é possível apenas tail
do arquivo, já que ele pode ser renomeado.
Existe uma ferramenta chamada multitee. Parece a coisa que você está procurando. Tentei descobrir como funciona, mas não obtive resultados de trabalho
Outra ideia é usar multitail, se for suficiente para obter a mesclagem na tela
multitail -f /var/log/syslog -L "ping 4.2.2.1"