1

我正在创建一个脚本script1.sh,通过它我必须更改一个 xml 文件(abc.xml)内容。xml文件的内容是

area = xyz/a
url = "sqlserver://servername:portno/a"
username=""
password=""

area = xyz/b
url = "sqlserver://servername:portno/b"
username=""
password=""

我必须更改servername, portno,usernamepassword两个区域使用script1.sh. 两个区域都相同,但Servername会有所不同。那么我怎样才能做出改变portnousernamepasswordscript1.shabc.xml

sed -i 's/$strurl/$url/g' context.sh

这就是我搜索的方式,但无法搜索和更改 url 其余一切都很好。我认为 url 字符串太大而无法搜索。

4

2 回答 2

2

sed -i 's!$strurl!$url!g' filename

这将是答案,因为 url 本身包含 '/' 作为分隔符,因此我们需要在 sed 命令中使用其他分隔符

于 2013-06-03T14:05:19.767 回答
0

您可以使用sedwith 选项-i就地更改文件。

sed -i 's/what/towhat/g' filename.txt

如果您what包含斜杠 ( /) 本身,请使用任何其他字符(例如,),它不会出现在what或 中towhat

于 2013-05-31T15:07:23.247 回答