Файл mongod.conf

 # mongod.conf
 # for documentation of all options, see:
 # http://docs.mongodb.org/manual/reference/configuration-options/
 # Where and how to store data.
   storage:
   dbPath: /var/lib/mongodb
   journal:
   enabled: true
 #  engine:
 #  mmapv1:
 #  wiredTiger:
 # where to write logging data.
   systemLog:
   destination: file
   logAppend: true
   path: /var/log/mongodb/mongod.log
 # network interfaces
   net:
   port: 27017
   bindIp: 127.0.0.1
 #processManagement:
 #security:
 #operationProfiling:
 #replication:
 #sharding:
 ## Enterprise-Only Options  
 #auditLog: 
 #snmp:

Это файл конфигурации mongoDB, который у меня есть, мне нужно обновить ключи в таком файле,

port: 27017 
bindIp: 0.0.0.0 
#security: 
keyFile:/opt/mongodb/keyfile 
authorization: enabled 
#replication: 
replSetName: mongoreplica1

Как я могу сделать это с помощью сценария bash?

0
JIMITH 11 Сен 2018 в 11:12

1 ответ

Лучший ответ

Вы можете исправить команду sed, используя

sed -i 's/^\( *bindIp *: *\).*/\10.0.0.0/'

Соответствует шаблону BRE POSIX ^\( *bindIp *: *\).*

  • ^ - начало строки
  • \( *bindIp *: *\) - Группа захвата № 1 (обозначается \1 из RHS): ноль или более пробелов, bindIp, ноль или более пробелов, : и ноль или более пробелов
  • .* - остальная часть строки
2
Wiktor Stribiżew 11 Сен 2018 в 09:25