Я пытаюсь изменить bind_host: localhost
на bind_host: 0.0.0.0
, где bind_host
- это вложенное значение 3-го уровня файла YAML Текущее значение файла
server:
application_connectors:
- type: http
port: 8989
bind_host: localhost
request_log:
appenders: []
admin_connectors:
- type: http
port: 8990
bind_host: localhost
Ожидаемый результат
server:
application_connectors:
- type: http
port: 8989
bind_host: 0.0.0.0
request_log:
appenders: []
admin_connectors:
- type: http
port: 8990
bind_host: 0.0.0.0
Я пытаюсь
awk '
/:$/{
flag=""
}
/server/{
flag=1
}
flag && NF && (/bind_host:/){
match($0,/^[[:space:]]+/);
val=substr($0,RSTART,RLENGTH);
$NF="0.0.0.0";
print val $0;
next
}
1
' config.yml
РЕДАКТИРОВАТЬ: добавление изображения на основе ответа @inian ![enter image description here](https://i.stack.imgur.com/sWJCG.png)
Второе изображение ![enter image description here](https://i.stack.imgur.com/fDMO5.png)