Tenho que executar quatro if
instruções separadas (e suas consequências) em uma saída de comando continuamente enquanto ela é atualizada (fazendo quatro coisas diferentes com base em quatro strings diferentes que podem estar na saída). Aqui estão algumas limitações:
- Ele deve funcionar com as ÚLTIMAS DUAS linhas, pois o comando que estou usando sempre coloca uma quebra de linha no final.
- Ele deve ser executado sem nunca encerrar o comando original.
- Tentei canalizar a saída para um arquivo usando
entr
, mas não funcionou, pois entr só detecta quando o arquivo está fechado e meu método de canalizar para o arquivo não faz isso? Ou algo assim, eu realmente não entendo.
Minhas opções, eu acho, são as seguintes:
- Salve continuamente as duas últimas linhas de saída em uma variável e execute as instruções if em um processo paralelo separado sempre que a variável mudar.
- Execute todas as instruções if em série como uma única linha, canalizando a saída padrão do comando original sem modificações por todas elas. (Pesquisas superficiais sugerem que executar uma instrução if diretamente no stdin pode não ser possível.)
- Canalize o mesmo stdout diretamente para quatro comandos separados ao mesmo tempo.
- Encontre uma maneira de canalizar um comando para um arquivo que feche o arquivo a cada atualização.
- Canalize a saída do comando para um arquivo e execute a maior parte do script em Python em vez de Bash.
Se alguém souber um método para fazer qualquer um desses, agradeço muito a ajuda. Observe que estou fora do meu alcance aqui e provavelmente precisarei de mais explicações do que o normal. Obrigado :)