com sed
Para substituir o valor de "lista de gravação" na seção CMI e apenas na seção CMI:
sed '/\[\CMI\>\]/,/^$/ s/\s*write list =.*/ write list = New Value/' smb.conf
Isso substitui o valor antigo de write list
por New Value
. Ele assume, como foi assumido em seu código, que as seções em smb.conf
terminam com uma linha em branco.
com awk
Da mesma forma:
awk '/\[\CMI\>\]/,/^$/ {if ($1=="write" && $2=="list") {$0=" write list = New Value"}} 1' smb.conf