如何使用sed命令更新属性文件的值

时间:2016-11-02 10:57:17

标签: shell sed

我使用了一个变量(NEW)并为其分配了需要更新属性的必需值,然后为名为db.properties的文件运行属性(x.DB.databaseName)的sed命令。

NEW ='·K了useUnicode =真安培;的characterEncoding = UTF-8'

 sed -i 's:^[ \t]*x.DB.databaseName[ \t]*=\([ \t]*.*\)$:x.DB.databaseName = '${NEW}':' db.properties

但它正在更新 -

x.DB.databaseName = k?useUnicode = x.DB.databaseName = h1amp; characterEncoding = utf-8其中h1是分配给该属性的先前值。

要求的结果 - x.DB.databaseName = K?useUnicode = true& characterEncoding = utf-8

1 个答案:

答案 0 :(得分:0)

由于所需的输出未到来,它是安培符号。

使用' \&' for&

NEW = K?useUnicode = true' \&' characterEncoding = utf-8

然后在sed命令上运行。

提供所需的输出