У меня есть большой файл событий, например:
<event>
...
...multiple lines describing the event
...
</event>
<event>
...
...
<event>
При возникновении ошибки я получаю номер строки, где произошла ошибка, которая всегда заканчивается где-то внутри тегов событий.Я хочу разбить файл на события, обработанные до возникновения ошибки и начиная с нее.Я знаю, что я могу сделать разделение, используя
csplit -k filename line_number_to_split_on
Что мне нужно сделать, это найти номер строки предыдущего тега события в строке ошибки.Файлы довольно большие.Например, у меня есть ошибка, указанная в строке 1007425, и при просмотре файла тег события находился в строке 1007397. Я хотел бы сделать это в сценарии оболочки.Есть идеи?