#xml #bash #command-line-interface #xmlstarlet
#xml #bash #интерфейс командной строки #xmlstarlet
Вопрос:
$ xmlstarlet edit -L -u "/parse-plugins/mimeType/plugin[@id='parse-html']/@id" -v 'parse-tika' conf/parse-plugins.xml
Почему он не заменяет идентификатор плагина mimetpes, который в настоящее время использует плагин parse-html?
Обновить значение атрибута
xml ed -u ’/xml/table/rec[@id=3]/@id’ -v 5 xml/tab-obj.xml
Я работаю над nutch parse-plugins.xml .
Комментарии:
1. У меня это работает. Вы получаете какую-либо ошибку?
2. @Mark — изменяется ли содержимое файла?
3. Да, он перезаписывает файл для меня.
4. (Остался один
parse-html
атрибут, но, конечно, он находится по другому пути в документе.)5. хммм ..некоторые способы повторного открытия файла (в энный раз) Я вижу, что это изменилось!
Ответ №1:
как указал Марк, это работает! Чтобы проверить, что все изменилось, используйте
$ xmlstarlet sel -t -c "/parse-plugins/mimeType/plugin[@id='parse-html']" conf/parse-plugins.xml
или атрибут файла, измененный последним.