«В разрешении отказано (открытый ключ)» поступает с удаленного сервера, поэтому вы либо используете неправильный ключ, либо подключение не разрешено, либо опечатка в удаленном файле authorized_keys.
Ваш пример не является допустимым файлом XML. Я немного изменил его, добавив элемент <root/>
, окружающий документ (, и исправив вашу опечатку в закрывающем маркере </deviceID>
):
<?xml version="1.0" encoding="utf-8"?>
<root>
<deviceID>IO238470374109730497</deviceID>
<KeyValuePairs>
<KeyValuePair>
<BASE-URL>2</BASE-URL>
<Key>2</Key>
<Value>2</Value>
</KeyValuePair>
<KeyValuePair>
<BASE-URL>3</BASE-URL>
<Key>3</Key>
<Value>3</Value>
</KeyValuePair>
</KeyValuePairs>
</root>
Теперь для редактирования XML можно использовать инструмент редактирования XML. Это выражение XPath указывает xmlstarlet
удалить XML-элемент<KeyValuePair/>
(и его содержимое ), где <BASE-URL/>
имеет текстовое значение 3
.
xmlstarlet ed -d '//KeyValuePair[BASE-URL/text()="3"]' /tmp/500185.xml
И вывод
<?xml version="1.0" encoding="utf-8"?>
<root>
<deviceID>IO238470374109730497</deviceID>
<KeyValuePairs>
<KeyValuePair>
<BASE-URL>2</BASE-URL>
<Key>2</Key>
<Value>2</Value>
</KeyValuePair>
</KeyValuePairs>
</root>