LINUX.ORG.RU

Сообщения staromand

 

Помогите отпарсить вывод deluge

Форум — General

staromand@lightrail:~$ uname -srv
Linux 4.4.0-31-generic #50-Ubuntu SMP Wed Jul 13 00:06:14 UTC 2016

Всем доброго времени суток. Появилась необходимость в получении информации о текущем состоянии торрентов. Помогите разобраться, как правильно пользоваться конструкцией $BASH_REMATCH[$i] вкупе с циклами. Гуглится на эту тему, как ни странно, очень мало. Накостылял маленький тестовый скрипт, который к моему ожиданию должен вывести имена торрент-объектов текущего процесса, но выводит почему-то только последнюю запись из вывода программы.

#!/bin/bash

meat=`deluge-console info`;
axe=".*?Name:\s(.*?)ID:.*?";

if [[ $meat =~ $axe ]]; then
        i=1
        n=${#BASH_REMATCH[*]}

        while [[ $i -lt $n ]]
        do
                echo -e "piece[$i]: \x1b[33m${BASH_REMATCH[$i]}\x1b[0m"
                let i++
        done
else
        echo "no meat"
fi
echo $n;

Собственно, «мясо»:

staromand@lightrail:~$ deluge-console info
Name: House M.D ID: 51280d59f9f983610c1848b3135cec8e2f52fbc0 State: Downloading Down Speed: 0.0 КБ/с Up Speed: 0.0 КБ/с Seeds: 0 (0) Peers: 0 (3) Availability: 0.19 Size: 11.9 ГБ/63.8 ГБ Ratio: 0.537 Seed time: 0 days 00:00:00 Active: 7 days 19:48:07 Tracker status: rustorka.com: Анонс успешно выполнен Progress: 42.04% [#########################~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~] Name: [2010-2015]Своя правда[WEB-DLRip] ID: 9a879863896f835ce4d7e0f5a3a077871094a40a State: Downloading Down Speed: 0.0 КБ/с Up Speed: 0.0 КБ/с Seeds: 0 (1) Peers: 0 (2) Availability: 0.15 Size: 6.3 ГБ/41.3 ГБ Ratio: 0.000 Seed time: 0 days 00:00:00 Active: 2 days 03:38:41 Tracker status: rustorka.com: Анонс успешно выполнен Progress: 30.28% [##################~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~] Name: [2011-2013]Чужой среди своих[HDTVRip] ID: 272942de9a1cb56f69837a714aa791018dd67deb State: Downloading Down Speed: 0.0 КБ/с Up Speed: 0.0 КБ/с Seeds: 0 (2) Peers: 0 (1) Availability: 0.20 Size: 4.3 ГБ/21.2 ГБ Ratio: 0.000 Seed time: 0 days 00:00:00 Active: 7 days 19:57:10 Tracker status: rustorka.com: Анонс успешно выполнен Progress: 29.03% [#################~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~] Name: [2014-2016]Сотня[WEB-DLRip] ID: 67a91b8e38fe7be18f953dbd0a6f109f414e6b7e State: Seeding Up Speed: 0.0 КБ/с Seeds: 0 (2) Peers: 0 (2) Availability: 0.04 Size: 1005.5 МБ/22.1 ГБ Ratio: 0.000 Seed time: 0 days 00:00:00 Active: 0 days 05:44:26 Tracker status: rustorka.com: Анонс успешно выполнен Name: Проповедник - 1 Сезон ID: 0220b2cc369dde095824d0bee273bb4e251b1a2d State: Seeding Up Speed: 0.0 КБ/с Seeds: 0 (9) Peers: 0 (8) Availability: 0.00 Size: 15.6 ГБ/15.6 ГБ Ratio: 0.158 Seed time: 7 days 21:01:57 Active: 8 days 14:29:10 Tracker status: rustorka.com: Анонс успешно выполнен Name: Системный администратор (2014) ID: a8b74bfce5271f28834e5b187a8e2adeca6ea960 State: Seeding Up Speed: 0.0 КБ/с Seeds: 0 (4) Peers: 0 (0) Availability: 0.00 Size: 5.5 ГБ/5.5 ГБ Ratio: 0.042 Seed time: 7 days 22:02:07 Active: 8 days 14:25:30 Tracker status: rustorka.com: Анонс успешно выполнен

ЧЯДНТ? У меня есть подозрение, что не хватает модификатора /.../g регулярки, но не знаю, как его установить. Здесь (https://regex101.com/) всё получается.

 , ,

staromand
()

RSS подписка на новые темы