Я пытаюсь отредактировать файл xml с помощью скрипта оболочки. Я нашел некоторую помощь, например, this. Но структура моего XML-файла немного отличается. Это пример моего файла XML:Структура XML-файла при редактировании xml-файла с помощью сценария оболочки
<Code>
<Type name="abc">this is ABC</Type>
<Type name="xyz">this is XYZ</Type>
</Code>
Здесь я хочу, чтобы получить this is ABC
и this is XYZ
текст, а затем добавить строку с ними, как это:
<Code>
<Type name="abc">this is ABC EDITED</Type>
<Type name="xyz">this is XYZ EDITED</Type>
</Code>
я могу редактировать 'abc'
как это :
xmlstarlet ed --inplace -u "/Code/Type[@name='abc']/@name" -v abc_edited ./abc.xml
Но как я могу изменить 'this is ABC'
строку, где 'this is ABC'
может быть ничего неизвестно?
, если вы в порядке с 'sed':' sed -e' s/это ABC/& EDITED/'-e'/это XYZ/& EDITED/'input.xml'. Однако лучше не выполнять это, перейдите к 'xmlstarlet'. –
Строка 'this is ABC' может быть любой. Я знаю только имя 'name =" abc "'. Итак, можете ли вы рассказать мне, как это сделать с помощью xmlstarlet? –
Если бы я мог. Кто-то другой. –