Isso irá procurar o texto que você quer $TEXT do log data.txt , mostrar as linhas X antes e mostrar as linhas Y após a partida. O comando tail filtrará todos menos a última correspondência. O número usado no comando tail é Z e Z = X + Y + 1
grep -BX -AY "$TEXT" data.txt | tail -Z
Então, por exemplo, se você quiser encontrar :: classX , você quer uma linha antes e 5 linhas depois, então você executaria
grep -B1 -A5 ':: classX' data.txt | tail -7
Como observação, se você quiser a primeira correspondência, poderá substituir tail por head . Se você quiser ver todas as correspondências, remova a parte | tail -Z .
Você pode adicionar correspondência de cores também com grep --color