[РЕШЕНО] awk - печать только 1 вхождения для нескольких равных шаблонов

Dobrov, похоже что данный шаблон(<x_.*>) встречается первым и обработка заканчивается
попробуйте добавить перед exit условный оператор if(i==1) чтобы отсечь такую возможность
awk '/Tag1/{i=1;next}/Tag2/{if(i==1) exit}i'
или так
awk '/Tag1/{i=1;next}/Tag2/&&(i==1){exit}i'
отлично, оба варианта работают. (в стандартной awk-документации только развёрнутые программы, без {}…)

но даже двойная цепочка с тремя sed-командами получается короче (конечно, не учитывая скорость)
sed -n '/^# <tag>/,$p' $0| sed '1d;/^# <.*>/,$d'
 
Зарегистрироваться или войдите чтобы оставить сообщение.