如何使用sed更改连接字符串

时间:2010-06-25 03:50:41

标签: linux shell sed

我在ini文件中有一个连接字符串,如下所示:

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

我想找到第n行并重新定位数据源,数据库,用户ID和密码字段。那我该如何在sed中制作呢?

2 个答案:

答案 0 :(得分:1)

sed -e 's/localhost/DataSource/' -e 's/grid/Database/' -e 's/grid/UserId/' -e 's/grid/Password'

这假定字段始终按此顺序排列,并且字符串“网格”不会出现在文本或任何先前替换的字段中。

答案 1 :(得分:0)

你可以使用awk

$ awk -vds="Datasource" -vdb="dbname" -vuser="userid" -vpswd="pass" '/Connection/{$0="Data Source="ds";Database="db";User ID="userid";Password="pswd}1' file