Мне нужна программа проверки скорости интернета, которая возвращает результат в PLAYIN TEXT [duplicate]

пытается загрузить значки, которые я загрузил в папку из Github.

... в любом случае теперь я получил то, что хотел, используя другой метод, терминал, как-то (только один) значок темы wokred (numix кругом) следующим образом:

sudo add-apt-repository ppa:numix/ppa 

sudo apt-get update 

sudo apt-get install numix-icon-theme numix-icon-theme-circle

спасибо за ваши ответы,

С уважением,

8
задан 4 October 2017 в 09:12

8 ответов

Поскольку speedtest-cli является программой и библиотекой python, довольно просто сделать минимальную альтернативную программу, которая выполняет только тест загрузки и выводит результат.

Откройте редактор, сохраните как dl-speedtest.py

import speedtest s = speedtest.Speedtest() s.get_config() s.get_best_server() speed_bps = s.download() speed_mbps = round(speed_bps / 1000 / 1000, 1) print(speed_mbps)

запустите с python dl-speedtest.py

Это дает результат в bps, как число с плавающей запятой Мбит / с округляется до одного десятичного знака в соответствии с запросом

Минимальная версия speedtest-cli для этого - 1.0.0. Думаю, вам может понадобиться pip install speedtest-cli --upgrade для обновления.

11
ответ дан 18 July 2018 в 04:36

Поскольку speedtest-cli является программой и библиотекой python, довольно просто сделать минимальную альтернативную программу, которая выполняет только тест загрузки и выводит результат.

Откройте редактор, сохраните как dl-speedtest.py

import speedtest s = speedtest.Speedtest() s.get_config() s.get_best_server() speed_bps = s.download() speed_mbps = round(speed_bps / 1000 / 1000, 1) print(speed_mbps)

запустите с python dl-speedtest.py

Это дает результат в bps, как число с плавающей запятой Мбит / с округляется до одного десятичного знака в соответствии с запросом

Минимальная версия speedtest-cli для этого - 1.0.0. Думаю, вам может понадобиться pip install speedtest-cli --upgrade для обновления.

11
ответ дан 24 July 2018 в 18:07

Это задание для awk:

speedtest-cli --simple | awk 'NR==2{print$2}' # just the numeral speedtest-cli --simple | awk 'NR==2{print$2" "$3}' # numeral and unit

Пояснения

NR==2 - взять строку 2 {print$2} - распечатать второй столбец (разделенный пробелом по умолчанию) {print$2" "$3} - печатать второй столбец, за которым следует пробел, а третий -

С sed он немного сложнее:

speedtest-cli --simple | sed '/D/!d;s/.* \(.*\) .*/\1/' # just the numeral speedtest-cli --simple | sed '/D/!d;s/[^ ]* \(.*\)/\1/' # numeral and unit

Пояснения

NR==2 - взять строку 2 s/A/B/ - s ubstitute A с B {print$2} - распечатать второй столбец (по умолчанию разделен пробел) [^ ]* - взять все, что нет (^) пробел {print$2" "$3} - распечатать второй столбец, за которым следует пробел, а третий - \(…\) - взять все внутри и сохранить его как группу \1 - получить содержимое группы 1
10
ответ дан 18 July 2018 в 04:36

Вы можете попробовать следующее:

speedtest-cli --simple | grep "Download: " | sed "s/Download: //g"
1
ответ дан 18 July 2018 в 04:36

И тогда есть:

speedtest-cli --simple | grep Download | awk '{print $2}'

Как первый вариант десерта, но без селектора строк.

2
ответ дан 18 July 2018 в 04:36

, что для awk:

speedtest-cli --simple | awk 'NR==2{print$2}' # just the numeral speedtest-cli --simple | awk 'NR==2{print$2" "$3}' # numeral and unit

пояснения

NR==2 – линия 2 {print$2} – печатать втором столбце (пробел по умолчанию) {print$2" "$3} – печать второго столбца, за которым следует пробел и третий

с sed это немного сложнее:

speedtest-cli --simple | sed '/D/!d;s/.* \(.*\) .*/\1/' # just the numeral speedtest-cli --simple | sed '/D/!d;s/[^ ]* \(.*\)/\1/' # numeral and unit

пояснения

NR==2 – линия 2 [от f13] – substitute [с f15] с B {print$2} – печатать втором столбце (пробел по умолчанию) [^ ]* – взять все, что не ([зг19]) пространство {print$2" "$3} – печать второго столбца, за которым следует пробел и третий [клавиши f21] - возьми все изнутри и сохранить его в качестве группы \1 – получить содержание группа 1
10
ответ дан 24 July 2018 в 18:07

Вы можете попробовать следующее:

speedtest-cli --simple | grep "Download: " | sed "s/Download: //g"
1
ответ дан 24 July 2018 в 18:07
  • 1
    Вместо grep в сочетании с sed вы можете просто использовать sed -n и добавить p в конце выражения, например speedtest-cli --simple | sed -nr 's/Download:\s*//p'. – Ruslan 4 October 2017 в 13:51
  • 2
    Как это отличается от ответа AmeyaVS? – Ruslan 4 October 2017 в 13:52
  • 3
    @Ruslan Я был тем, кто ошибочно отредактировал ответ AmeyaVS, думая, что я редактирую мою. Вот почему он выглядит одинаково – George Udosen 4 October 2017 в 13:54
  • 4
    О, тогда вы должны откатить свое редактирование своего ответа, я полагаю ... – Ruslan 4 October 2017 в 13:55
  • 5
    Это история изменений. Ваше последнее изменение является неполным WRT оригиналом. – Ruslan 4 October 2017 в 14:03
  • 6
    Никогда не использовал эту функцию, откатив – George Udosen 4 October 2017 в 14:05

И тогда есть:

speedtest-cli --simple | grep Download | awk '{print $2}'

Как первый вариант десерта, но без селектора строк.

2
ответ дан 24 July 2018 в 18:07
  • 1
    Это редко полезно делать grep ... | awk - speedtest-cli --simple | awk '/Download/{print $2}' – muru 4 October 2017 в 14:11
  • 2
    @dessert не совсем - вы отфильтровывались по определенному номеру строки, а не по строке, что и делает этот ответ – muru 4 October 2017 в 14:14
  • 3
    @muru Вы правы, я прошу прощения. – dessert 4 October 2017 в 15:05

Другие вопросы по тегам:

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