2016-11-02 3 views
0

Я использовал переменную (NEW) и назначил требуемое значение, для которого необходимо обновить свойство, а затем запустить команду sed для свойства (x.DB.databaseName) для файла назван как db.properties.Как обновить значение файла свойства с помощью команды 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 = к useUnicode = x.DB.databaseName = h1amp; characterEncoding = utf-8, где h1 - это предыдущее значение, присвоенное этому свойству.

Обязательный result- x.DB.databaseName = К? UseUnicode = & истинно characterEncoding = UTF-8

ответ

0

Он ampersign из-за которой требуемая мощность не придет.

Б '\ &' для &

NEW = K? UseUnicode = истина '\ &' characterEncoding = UTF-8

затем запустить выше патч в следующей команде.

Дает желаемый результат

Смежные вопросы