Я хотел бы заменить строку в разделе файла 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, чтобы переписать его.
Любые мысли о том, как это сделать или ссылки на решение будет принята с благодарностью.
