Je voudrais afficher périodiquement mon résultat de vitesse de téléchargement speedtest dans indicateur-sysmonitor .
speedtest-cli a une sortie quelque peu coupée si vous exécutez
$ speedtest-cli --simple
Ping: 50.808 ms
Download: 10.87 Mbit/s
Upload: 4.47 Mbit/s
Existe-t-il un moyen de réduire encore plus la sortie, jusqu'à la vitesse de téléchargement?
--no-upload
option pour ne pas afficher le téléchargement.Réponses:
Tout
speedtest-cli
comme un programme et une bibliothèque python, il est assez facile de créer un programme alternatif minimal qui effectue uniquement un test de téléchargement et imprime la sortie.Ouvrez un éditeur, enregistrez sous
dl-speedtest.py
courir avec
python dl-speedtest.py
Cela donne le résultat en
bps, comme un nombre à virgule flottanteMbps arrondi à une décimale comme demandéLa version minimale de speedtest-cli pour que cela fonctionne est 1.0.0 je pense, vous devrez peut-être utiliser
pip install speedtest-cli --upgrade
pour mettre à niveau.la source
C'est un travail pour
awk
:Explications
NR==2
- prendre la ligne2
{print$2}
- imprimer la deuxième colonne (séparée par des espaces par défaut){print$2" "$3}
- imprimer la deuxième colonne suivie d'un espace et de la troisièmeAvec
sed
c'est un peu plus compliqué:Explications
/D/!d
- rechercher des lignes contenantD
et ne pas (!
)d
les élete, mais toutes les autres ligness/A/B/
-s
remplacerA
parB
.*
- Prenez tout[^ ]*
- prenez tout ce qui n'est pas (^
) un espace␣
(caractère d'espace) - un espace littéral\(…\)
- prenez tout à l'intérieur et enregistrez-le en groupe\1
- obtenir le contenu du groupe 1la source
Cela fonctionnera également:
la source
Vous pouvez essayer ceci:
la source
grep
combiner avecsed
, vous pouvez simplement utilisersed -n
et ajouterp
à la fin de l'expression, commespeedtest-cli --simple | sed -nr 's/Download:\s*//p'
.Et puis il y a:
Comme la première option du dessert sans le sélecteur de ligne.
la source
grep ... | awk
-speedtest-cli --simple | awk '/Download/{print $2}'