Как распарсить вывод терминала

Рейтинг: 0Ответов: 1Опубликовано: 27.04.2023

Есть вывод программы в терминал. Нужно найти определённую строку, например, с помощью grep и считать n строк после до тех пор, пока не встретится пустая строка.

Вопрос в том, можно ли реализовать это с помощью регулярных выражений, и если да, то какие можно тут использовать?

Ответы

▲ 1Принят

это легко делается с помощью того же awk

допустим имеем такой текстовый набор:

a aa aaa aaaa
b bb bbb bbbb
c cc ccc cccc
d dd ddd dddd

e ee eee eeee

необходимо вывести строки из диапазона, где первая строка содержит подстроку "ccc" а последняя строка это первая пустая строка после найденной подстроки, включительно.

... | awk '/ccc/,/^$/'

в результате получим

c cc ccc cccc
d dd ddd dddd
⁠