LINUX.ORG.RU

grep двух последовательных строк

 


0

1

Есть две последовательных строки в файле, например:

<active>no</active>
<inactive>yes</inactive>

Надо выбрать именно те, которые идут последовательно (как в примере), т.к. есть в тесте еще такие же



Последнее исправление: gmk22 (всего исправлений: 1)

А в чем вопрос?

Если строки идут одна за другой в известном порядке то можно написать регулярное выражение. Если в неизвестном порядке, то можно сделать или 2 грепа или написать более сложную регулярку.

vitruss ★★★★★
()
Последнее исправление: vitruss (всего исправлений: 1)
Ответ на: комментарий от vitruss

2 грепа не получается, т.к. если выбрать только первую строку или только вторую в результате выкатится куча одинаковых. Не получается выбрать сразу эти две строки

gmk22
() автор топика
Ответ на: комментарий от gmk22

Два последовательных грепа, первый ищет в файле, второй в результате первого. Пользуясь -C, -a и -b модно выводить окружения совпадения.

vitruss ★★★★★
()
Последнее исправление: vitruss (всего исправлений: 1)
Ответ на: комментарий от x22

сделал костыль: выше этих строк всегда записывается одна и та же строка, например: «no active» и сделал

grep -A10 "no active" ~/1.txt 

и эти строки появились в выборке. Всем спасибо!

gmk22
() автор топика