У меня длинный список строк, и я хочу выборочно печатать START + 3 строки выше, пока не включится END. Проблема в том, что длина между START и END является переменной, но я всегда хочу, чтобы три строки были выше начала.
Я попытался AWK:awk для печати 3 строки выше совпадения до второго совпадения
awk '/START/,/END/' file.txt
Однако я не могу найти способ, как включить три строки выше START. Подсказка действительно оценена спасибо!
Входной
EFA
DAD
ABC
DEF
GEF
START
EDG
EFG
GAD
END
CDA
Результат
ABC
DEF
GEF
START
EDG
EFG
GAD
END
Появляются ли СТАРТ и КОНЕЦ более одного раза? Или только один раз? –
... и если это так, вы хотите распечатать с первого START до последнего END или сначала начать сначала END или каждый START до END или что-то еще? –