Corona et CLI
Mis a jours le 27 Mar 2020 à 12:22 · 377 mots · Lecture en 2 minutes
Comment utiliser des outils “modernes” pour avoir des informations utiles sur l’état actuel des choses
On a des sites qui offrent les données liées au virus accessible grâce à cURL
:
Récupérer les informations
$ curl https://corona-stats.online/fr
╔══════╤═════════════╤══════════════╤═════════════╤══════════════╤══════════════╤═══════════╤═════════╤══════════╤════════════════╗
║ Rank │ Country │ Total Cases │ New Cases ▲ │ Total Deaths │ New Deaths ▲ │ Recovered │ Active │ Critical │ Cases / 1M pop ║
╟──────┼─────────────┼──────────────┼─────────────┼──────────────┼──────────────┼───────────┼─────────┼──────────┼────────────────╢
║ 1 │ France (FR) │ 29,155 │ │ 1,696 │ │ 4,948 │ 22,511 │ 3,375 │ 447 ║
╟──────┼─────────────┼──────────────┼─────────────┼──────────────┼──────────────┼───────────┼─────────┼──────────┼────────────────╢
║ │ World │ 548,806 │ 16,996 ▲ │ 24,862 │ 794 ▲ │ 128,599 │ 395,345 │ 20,968 │ 70.41 ║
╚══════╧═════════════╧══════════════╧═════════════╧══════════════╧══════════════╧═══════════╧═════════╧══════════╧════════════════╝
Stay safe. Stay inside.
Code: https://github.com/sagarkarira/coronavirus-tracker-cli
Twitter: https://twitter.com/ekrysis
Last Updated on: 27-Mar-2020 11:03 UTC
UPDATE: Source 2 is now default source
JHU Source 1 table: https://corona-stats.online?source=1
HELP: https://corona-stats.online/help
Extraire les informations
Extraire des données de ce curl est donc faisable:
$ curl https://corona-stats.online/fr | grep an
║ Rank │ Country │ Total Cases │ New Cases ▲ │ Total Deaths │ New Deaths ▲ │ Recovered │ Active │ Critical │ Cases / 1M pop ║
║ 1 │ France (FR) │ 29,155 │ │ 1,696 │ │ 4,948 │ 22,511 │ 3,375 │ 447 ║
Nettoyer les informations
Il suffit ensuite de nettoyer avec un coup de sed
$ curl https://corona-stats.online/fr |\
grep an |\
sed "s/\s*//g ; s/║//g ; s/│/;/g"
Rank;Country;TotalCases;NewCases▲;TotalDeaths;NewDeaths▲;Recovered;Active;Critical;Cases/1Mpop
1;France(FR);29,155;;1,696;;4,948;22,511;3,375;447
Les trois arguments de sed permettent:
s/\s*//g
: supprimer les espaces superflus/║//g
: enlever le caractère de fins/│/;/g"
: Remplacer les séparateurs par quelque chose d’utilisable
Formater les informations
On peux mieux voir les informations grâce à AWK
:
$ curl https://corona-stats.online/fr |\
grep France |\
sed "s/\s*//g ; s/║//g ; s/│/;/g" |\
awk -F';' '{print $2":"$3"("$7","$8")"}'
Country:TotalCases(Recovered,Active)
France(FR):29,155(4,948,22,511)
Attention: ne pas oublier d’enlever la ligne avec les informations de champ avec une utilisation un peut plus poussée.
Conclusion
Il ne nous reste plus qu’à utiliser ces informations, dans une barre d’état par exemple.
Pour aller plus loin, on pourrais ne pas utiliser cURL
à chaque appel, mais utiliser un cache car les informations ne sont pas mises a jours toutes les heures:
curl https://corona-stats.online/fr > $HOME/.cache/corona_data
grep France $HOME/.cache/corona_data |\
sed "s/\s*//g ; s/║//g ; s/│/;/g" |\
awk -F';' '{print $2":"$3"("$7","$8")"}'
L'auteur: Tom Moulard
Depuis mon enfance, je suis captivé par les articles de science et de technologie. Un jour, j'ai décidé de faire partie de ce monde : j'ai pris ma calculatrice programmable (une TI-82 stat).... La suite, sur mon site
Vous avez vu une erreur ? Quelque chose ne va pas ? Vous pouvez contribuer à cette page sur GitHub ou laisser un commentaire en dessous. Merci d'être passé par là :)