Как изменить строку подключения с помощью sed - PullRequest
1 голос
/ 25 июня 2010

У меня есть строка подключения в ini-файле, как показано ниже:

1 ...
2 ...
3 #someline:
n ConnectionString = "Data Source=localhost;Database=grid;User ID=grid;Password=grid;"

И я хотел бы найти строку n и заменить поля Источник данных, База данных, Идентификатор пользователя и Пароль.Так как я могу сделать это в sed?

Ответы [ 2 ]

1 голос
/ 25 июня 2010
sed -e 's/localhost/DataSource/' -e 's/grid/Database/' -e 's/grid/UserId/' -e 's/grid/Password'

Предполагается, что поля всегда находятся в таком порядке, и что строка 'grid' не отображается ни в тексте, ни в ранее замененных полях.

0 голосов
/ 25 июня 2010

вы можете использовать awk

$ awk -vds="Datasource" -vdb="dbname" -vuser="userid" -vpswd="pass" '/Connection/{$0="Data Source="ds";Database="db";User ID="userid";Password="pswd}1' file
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...