У меня есть файлы с такой структурой:
abc
def
ghi
...
x x y x x
x x z x x
x x y x x
...
JKL
x x y x x
x x z x x
x x y x x
...
...
*empty line*
mno
pqr
...
...
Я хотел бы скопировать весь файл в новый файл, но с некоторыми изменениями.
Во-первых, я хочу повлиять только на строки между шаблоном JKL и следующей пустой строкой. Кроме того, мне нужно заменить каждое вхождение шаблона y новым шаблоном NEW, но только если он появляется в третьем столбце.
Я пытался использовать sed, но я застрял в том, как выбрать столбцы:
sed -ne '/JKL/,/^$/s/y/NEW/'
это, конечно, заменило y на NEW во всех столбцах.
Я также попытался найти awk, но я смог найти только примеры двух отдельных потребностей, которые у меня были, и не смог соединить их.
Как я мог это сделать?