用于更改der文件中的derby jdbc连接的sed

时间:2015-03-23 17:55:59

标签: sed

这应该是非常直接的,但它让我疯狂。 我需要在文件中更改derby db连接,我想要更改的是它的连接的主机名

jdbc:derby://myhostname.com:1527/myContextRoot;

我不确定主机名是什么,所以需要通配符,其余部分 格式将始终相同。因此,只需更改//:1527之间的文字。

2 个答案:

答案 0 :(得分:0)

你会想要这样的东西:

sed s_//.*:1527_//\*:1527_g test.txt

使用_分隔符以避免弄乱/。匹配//:1527(包括)之间的字符,然后使用相同的字符和文字*替换。

答案 1 :(得分:0)

我能想到的最短的解决方案是:

sed -e 's=//[^:]*=//*=' ...

与Mica的回答一样,这使用了一个备用分隔符,并假设主机名在第一个冒号处结束。这会使您的端口保持原位,而不是与其匹配并将其替换为自身。