Я хотел бы заменить строку в разделе файла smb.conf, используя awk, sed или оба, если это необходимо. Вот раздел в файле ...
[CMI]
oplocks = no
wide links = no
writeable = yes
delete readonly = yes
path = /LOCALSITE/CMI
comment = CMI Data
write list = @cbishare
valid users = @cbishare
create mode = 775
directory mode = 775
Я хотел бы использовать этот код для последующего повторного использования с переменной для запуска в разных разделах файла smb.conf. Так что просто найти "список записи" в каждом разделе не получится.
Я могу проанализировать файл и получить раздел, используя этот код ...
awk '/\[\CMI\>\]/,/^$/' /etc/samba/smb.conf
или с седом ...
sed -n '/\[\CMI\>\]/,/^$/{p}' /etc/samba/smb.conf
Теперь мне нужно заменить в файле определенную строку в этом диапазоне, например «список записи». Я новичок в sed или awk, и я не нашел никакой информации о том, как выполнить последнюю часть.
Я подумал, что, возможно, смогу получить NR строки, а затем использовать sed, чтобы переписать его.
Любые мысли о том, как это сделать или ссылки на решение будет принята с благодарностью.