2012-01-29 2 views
0

Я хочу автоматически заменить строки файла конфигурации Redmine. Конфигурационный файл выглядит следующим образом:Заменить строку в файле конфигурации

# MySQL (default setup). 
.... 
production: 
    adapter: mysql 
    database: redmine 
    host: localhost 
    username: root 
    password: 
    encoding: utf8 

development: 
    adapter: mysql 
    database: redmine_development 
    host: localhost 
    username: root 
    password: 
    encoding: utf8 
    .... 

Я только хочу, чтобы заменить линии после секции производства, как пароль, базы данных, ...

Как я могу сделать это с sed?

ответ

2

основан на вашем примере файла:

sed -r '/^production:/,/^$/{s/(\s*database:).*/\1newDB/; 
     s/(\s*password:).*/\1newPWD/}' yourConfig 

выше CMD изменится «база данных» и «пароль» настройки раздел «Производство» в NEWDB и newPWD.

выход:

... 
production: 
    adapter: mysql 
    database:newDB 
    host: localhost 
    username: root 
    password:newPWD 
    encoding: utf8 

development: 
    adapter: mysql 
    database: redmine_development 
    host: localhost 
    username: root 
    password: 
    encoding: utf8 
... 
Смежные вопросы