Eu tenho um arquivo de log enorme e quero saudar a primeira ocorrência de um padrão e, em seguida, encontrar outro padrão logo após essa ocorrência.
Por exemplo:
123
XXY
214
ABC
182
558
ABC
856
ABC
No meu exemplo, eu gostaria de encontrar 182
e depois encontrar a próxima ocorrência deABC
A primeira ocorrência é simples:
grep -n -m1 "182" /var/log/file
Isso gera:
5:182
Como encontro a próxima ocorrência de ABC?
Minha idéia era dizer grep
para pular as primeiras n
linhas (no exemplo acima n=5
), com base no número da linha 182. Mas como faço isso?
grep
não é necessário. Ainda não estou tão familiarizado com sed
ou awk
. Se você tem uma boa solução, deixe-me ouvi-la! :) @don_crissti apenas a primeira linha deve ser impressa. Eu não me importo com as outras ocorrências.
grep
usado? Eu não acho que isso possa ser feito,grep
mas seria fácil comawk
oused
(sozinho ou em combinação comgrep
).