Как соответствовать нескольким строкам, запускающимся с ВКЛАДКИ и строки перед 1-й в группе?

[112523] Следующий XQuery должен выдавать желаемый вывод :

Например, с интерпретатором XQuery, таким как [113023]XQilla[113024], и входным файлом, таким как

xqilla -i 1. xml 1.query[113026] выводит

Для вашего примера регеxps может быть достаточно, но в общем случае плохая идея использовать их для разбора XML, так как XML не является регулярным языком (т.е. языком, который разбирается с регулярными выражениями).[112530].

1
11.02.2015, 17:20
2 ответа

Просто используйте -A-Fter context, -Before context или -Context option в grep, например, чтобы соответствовать вашему примеру:

grep -B2 '^\t' file
3
27.01.2020, 23:17

Использование GREP -B2 -P '^ \ T' logfile , чтобы забрать две строки перед каждым набором совпадений. Возможно, вам придется замаскировать сепаратор группы «-», который вставлен между матчами.

РЕЗУЛЬТАТЫ

$ grep -B2 -P '^\t' /tmp/t
time=2
time=3
        at com.test.com....
        at com.test.com....
        at com.test2.com....
--
time=8
time=9
        at org.badstuff.com...
        at org.badstuff.com...
        at org.badstuff.com...
2
27.01.2020, 23:17

Теги

Похожие вопросы