2017-02-17 12 views
0

У меня есть файл конфигурации. Пример: config.xml Он имеет следующие конфигурации.Как заменить значение между тегом xml в файле с помощью команды shell scripting sed?

<!-- Admin username for the Authentication manager. --> 
    <Username>adminusername</Username> 
    <!-- Admin password for the Authentication manager. --> 
    <Password>adminpassword}</Password> 

Мне нужно изменить значение «adminusername» и «adminpassword», запустив скрипт оболочки. Как я могу добиться этого с помощью sed?

+0

sed не является хорошим выбором для работы с входом xml, см. Https://stackoverflow.com/questions/1794995/find-and-replace-in-xml-file-using-sed – Sundeep

ответ

0

Неправильный инструмент для работы. Используйте инструмент XML-aware, который может действительно анализировать XML.

Например, в xsh я случиться, чтобы поддерживать, вы можете написать

open config.xml ; 
set /Root/Username "newname" ; 
set /Root/Password "newpassword" ; 
save :b ; 

(при условии корневой элемент XML-, называется Root, упомянутые элементы являются его дети, и они не повторяются.)

+0

Я не сталкивался с xsh , Другим аналогичным инструментом является xmlsh - www.xmlsh.org –