코로나 및 CLI

3749 단어

Comment utiliser des outils "modernes" pour avoir des informations utiles sur l'état actuel des chooses



On a des sites qui offrent les données liées au virus accessable grâce à cURL:

Récupérer 레 정보




$ 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 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 파일 정보



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 superflu - s/║//g : enlever le caractère de fin - s/│/;/g" : Remplacer les séparateurs par quelque selected d'utilisable

포매터 레 정보



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.



결론



Il ne nous reste plus qu'à utiliser ces informations, dans une barre d'état par exemple.

푸어 알러 플러스 로인, 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")"}'

좋은 웹페이지 즐겨찾기