анализировать продолжительность из xml с помощью xmlstarlet

Использование tail требует, чтобы вы знали, сколько строк вы ожидаете от средней статистики. Если вам нужна средняя статистика для каждого процессора, и вы использовали -P ALL, тогда команда tail будет громоздкой.

Я предлагаю просто поискать Average. Чтобы получить заголовок, который является комментарием, вставленным sadc, вам нужно добавить опцию -C:

# sar -P ALL -C | grep Average:
Average:        CPU     %user     %nice   %system   %iowait    %steal     %idle
Average:        all      3.06      0.00      1.22      0.00      0.00     95.72
Average:          0      0.55      0.00      0.23      0.01      0.00     99.21
Average:          1      1.96      0.00      0.77      0.00      0.00     97.26
Average:          2      3.84      0.00      1.63      0.00      0.00     94.52
Average:          3      0.59      0.00      0.24      0.00      0.00     99.17
Average:          4      0.51      0.00      0.27      0.01      0.00     99.21
Average:          5      1.78      0.00      0.74      0.01      0.00     97.47
Average:          6      8.02      0.00      3.16      0.01      0.00     88.81
Average:          7      6.75      0.00      2.61      0.00      0.00     90.64
Average:          8     10.93      0.00      4.20      0.01      0.00     84.86
Average:          9      6.47      0.00      2.54      0.01      0.00     90.98
Average:         10      9.76      0.00      3.72      0.02      0.00     86.50
Average:         11      5.42      0.00      2.03      0.01      0.00     92.54
Average:         12      0.07      0.00      0.05      0.00      0.00     99.89
Average:         13      0.31      0.00      0.18      0.00      0.00     99.51
Average:         14      0.02      0.00      0.21      0.00      0.00     99.78
Average:         15      0.06      0.00      0.08      0.00      0.00     99.86
Average:         16      0.14      0.00      0.07      0.00      0.00     99.79
Average:         17      0.03      0.00      0.04      0.00      0.00     99.93
Average:         18      8.03      0.00      3.16      0.00      0.00     88.80
Average:         19      1.41      0.00      0.56      0.00      0.00     98.02
Average:         20      2.62      0.00      1.06      0.00      0.00     96.32
Average:         21      0.37      0.00      0.16      0.00      0.00     99.47
Average:         22      0.07      0.00      0.04      0.00      0.00     99.89
Average:         23      3.66      0.00      1.43      0.00      0.00     94.90
1
19.03.2020, 14:21
1 ответ

В вашем XML-файле используются пространства имен, поэтому вам нужно указать те, которые вам нужны, и соответствующим образом скорректировать запрос:

xmlstarlet sel -N 'mi=https://mediaarea.net/mediainfo' -t -v 'mi:MediaInfo/mi:media/mi:track/mi:Duration' a.xml

или полагаться на пространство имен по умолчанию, как предлагает сообщение об ошибке:

xmlstarlet sel -t -v '_:MediaInfo/_:media/_:track/_:Duration' a.xml

Чтобы ограничить выбор трека, вы можете добавить фильтр атрибута XPath, например:

xmlstarlet sel -t -v '_:MediaInfo/_:media/_:track[@type="General"]/_:Duration' a.xml

или, чтобы получить первую дорожку «Аудио»:

xmlstarlet sel -t -v '_:MediaInfo/_:media/_:track[@type="Audio"][1]/_:Duration' a.xml

(с использованием индексов XPath )или

xmlstarlet sel -t -v '_:MediaInfo/_:media/_:track[@type="Audio" and @typeorder="1"]/_:Duration' a.xml

(с использованием атрибута typeorder).

1
28.04.2021, 23:20

Теги

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