Lógica alternativa em sed
:
sed -e '/File_Check/{
:loop
/notification_interval/!{
N;
b loop
}; s/\(notification_interval\s*\)[0-9]\+//
}' your_file
Explicação
Quando você corresponder a File_Check
, continue lendo novas linhas e adicionando-as ao espaço padrão até que você corresponda a notification_interval
. Quando você combina, faça a substituição de regex que você precisa. A substituição que eu escolho aqui é substituir notification_interval\s*[0-9]\+
( notification_interval
seguido por qualquer quantidade de espaço em branco e pelo menos um dígito) com
seguido por 2. Agora
significa o que foi capturado dentro da parens \(...\)
no regex; no nosso caso, isso é notification_interval\s*
.
Essencialmente, isso procura por notification_interval
seguido por qualquer quantidade de espaço em branco e, em seguida, um grupo de dígitos e substitui o grupo de dígitos por 2
.