У меня есть файл зоны со следующей информацией:
zone "example.com" {
type master;
file "master/example.com";
};
zone "example.org" {
type master;
file "master/example.org";
};
и так далее.Мне нужно grep example.com и добавить три скобки в скобках.
Я могу получить всю скобку с помощью этого:
sed -n '/zone \"example.com\" {/,/};/p' zones.local
Результат:
zone "example.com" {
type master;
file "master/example.com";
};
Мне нужно добавить следующие три строки, чтобы конечный результат выглядел следующим образом:
zone "example.com" {
type master;
file "master/example.com";
key-directory "/etc/bind/keys/example.com";
inline-signing yes;
auto-dnssec maintain;
};
zone "example.org" {
type master;
file "master/example.org";
};
Но как бы я ни старался, я не могу заставить его работать.Я пробовал это например:
sed -n '/zone \"example.com\" {/,/};/p; $i key-directory "/etc/bind/keys/example.com";' zones.local
Но это добавит ко второй последней строке всего файла, а не ко второй последней из результата первого регулярного выражения.Могу ли я заставить его добавить строку в первом регулярном выражении каким-либо образом?
Я полностью застрял и был бы признателен за помощь!