XmlStarlet xml в csv вывод как 'NaNNaNNaN'

Официальная ссылка на формат версии пакета Debian находится в Руководстве по политике Debian. Формат разработан, чтобы позволить "разумно выглядящие" номера версий с хорошо определённым (хотя и несколько сложным) отношением сравнения, чтобы решить, когда версия является более новой, чем другая.

В большинстве случаев сравнение представляет собой лексикографическое сравнение строки. Например, 1foo сортируется перед 1ga. Однако последовательности цифр сравниваются в числовом порядке, поэтому foo10bar сортируется после foo9bar.

При лексикографическом порядке строка всегда сортируется перед своим префиксом. Символ тильда позволяет отклониться от этого: foo~bar всегда сортируется перед foo, а также перед любой версией, начинающейся с foo, за которой следует символ, отличный от ~. Это часто используется для бета-версий: 8u60~b22 сортируется перед 8u60. Я не знаю, почему пакеты OpenJDK 8 чередуются между суффиксами -b и ~b. Суффиксы

Tilde также используются для бэкпортов всех видов. Например, если одна и та же версия пакета присутствует в стабильном и тестируемом Debian, а исправление безопасности должно попасть в стабильный, то пакет в стабильном будет иметь суффикс типа -2~deb1, а версия в тестируемом (скомпилированная с более новыми библиотеками) будет иметь -2; Таким образом, пакет является обновлением версии -1, но если система обновляется со стабильной на тестовую, то стабильная версия -2~deb1 будет обновлена до тестовой версии -2. Официальные бэкпорты используют ~bpoЧИСЛО для той же цели, таким образом версия 4.2~bpo7 будет обновлена до 4.2, если она когда-нибудь появится в основном дистрибутиве.

1
19.03.2018, 21:59
1 ответ

В XPATH @указывает на имя атрибута. Для создания записей csv на основе значений атрибутов каждого узла <row>используйте следующий подход:

xmlstarlet sel -T -t -m 'badges/row' -v \
'concat(@Id, ",", @UserId, ",", @Name, ",", translate(@Date," ",""), 
",", @Class, ",", @TagBased)' -n Badges.xml

Выход:

1,1,Autobiographer,2016-08-02T15:56:07.133,3,False
2,8,Autobiographer,2016-08-02T15:56:07.133,3,False
3,9,Autobiographer,2016-08-02T15:56:07.133,3,False
4,19,Autobiographer,2016-08-02T15:56:07.133,3,False
5,27,Autobiographer,2016-08-02T15:56:07.133,3,False
1
27.01.2020, 23:43

Теги

Похожие вопросы