Estou tentando pesquisar um arquivo de log em busca de atividades registradas que não foram concluídas. Por exemplo, registro uma "Atividade inicial para o ID 1234 ..." e, se for bem-sucedida, a próxima linha será "Atividade 1234 concluída".
Estou tentando obter as linhas "Iniciando ..." que NÃO são seguidas pelas linhas "Concluídas" correspondentes.
Arquivo de log de exemplo
Starting activity for ID 1234
ID 1234 completed successfully
Starting activity for ID 3423
ID 3423 completed successfully
Starting activity for ID 9876
ID 9876 completed successfully
Starting activity for ID 99889
ID 99889 completed successfully
Starting activity for ID 10011
ID 10011 completed successfully
Starting activity for ID 33367
Starting activity for ID 936819
ID 936819 completed successfully
Neste exemplo, eu estaria procurando pela saída:
Starting activity for ID 33367
... porque não é seguido por uma linha "concluída".
Eu tentei fazer isso com grep
e awk
, mas não tive muito sucesso. Suponho que isso possa ser feito com uma dessas ferramentas, mas as minhas grep
e as awk
costeletas não são avançadas.
Olhando para uma rápida e confiável grep
ou awk
padrão para dar os resultados que eu preciso aqui.