[LINUX] Afficher les prévisions météorologiques du jour avec le script shell

introduction

Comme pratique du script shell, j'ai créé un script pour vérifier "La météo d'aujourd'hui" en utilisant l'API de prévisions météorologiques de Livedoor Weather Hacks.

Aussi, j'ai essayé de spécifier le nom du lieu afin que les prévisions météorologiques puissent être vues au point souhaité.

scénario

Aperçu

Comment utiliser

weather.sh


#!/bin/bash
# http://weather.livedoor.com/forecast/webservice/json/v1?
​
#Extrayez les noms de points et les ID qui correspondent aux noms de lieux saisis à partir de la table de définition de point (RSS) à l'échelle nationale.
# http://weather.livedoor.com/forecast/rss/primary_area.xml
cityname_id=$(curl -s http://weather.livedoor.com/forecast/rss/primary_area.xml \
    | sed "s/>/>\n/g" \
    | grep city \
    | sed "s/<city title=\"//g" \
    | sed "s/\" source.*>//g" \
    | sed "s/\" id=\"/,/g" \
    | grep $1) \
​
#Si le nom de lieu correspondant existe, obtenez les prévisions météorologiques pour cette ville.
#Si la ville correspondante n'existe pas, le processus se termine.
if [ -z "$cityname_id" ]; then
    echo 「$Les prévisions météorologiques de 1 "ne sont pas fournies. Veuillez choisir parmi les villes suivantes.
    echo ----------------------------------------
    echo $(curl -s http://weather.livedoor.com/forecast/rss/primary_area.xml \
        | sed "s/>/>\n/g" \
        | grep city \
        | sed "s/<city title=\"//g" \
        | sed "s/\" id.*>//g")
else
    # {Nom du point,ID}Extrayez uniquement l'ID de la chaîne de caractères de.
    city_id=$(echo $cityname_id | sed "s/.*,//g")
    city_name=$(echo $cityname_id | sed "s/,.*//g")
​
    echo $city_nommez la météo du jour:\
        $(curl -s http://weather.livedoor.com/forecast/webservice/json/v1?city=${city_id} \
            | jq '.forecasts[]' \
            | jq -r 'select(.dateLabel=="aujourd'hui").telop')
fi

Résultat d'exécution

Résultat de l'exécution (lorsque les prévisions météorologiques du nom de lieu spécifié existent)


[root@akagi ~]# ./weather.sh Tokyo
Météo du jour à Tokyo: ensoleillé

Résultat d'exécution (lorsque la prévision météo du nom de lieu spécifié n'existe pas)


[root@akagi ~]# ./weather.sh Penguin Village
Aucune prévision météo pour "Penguin Village" n'est fournie. Veuillez choisir parmi les villes suivantes.
----------------------------------------
Wakauchi Asahikawa Rume Amisato Kitami Monbetsu Nemuro Kushiro Obihiro Muroran Urakawa Sapporo Iwamizawa Kuchiyasu Hakodate Esashi Aomori Mutsu Hachinohe Morioka Miyako University
Funawatari Sendai Shiraishi Akita Yokote Yamagata Yonezawa Sakata Shinjo Fukushima Onahama Wakamatsu Mito Tsuchiura Utsunomiya Otahara Maebashi Minakami Saitama Kuma
Tani Chichibu Chiba Chiba Tateyama Tokyo Oshima Hachijojima Father Island Yokohama Odawara Niigata Nagaoka Takada Aikawa Toyama Fushiki Kanazawa Wajima Fukui Tsuruga Kofu Kawaguchiko Nagano Matsumoto Iida Gifu Takayama Shizuoka Amiyo Mishi Mishoya Nagoya Mishatsu Hamada Saigo Okayama Tsuyama Hiroshima Shohara Shimozeki Yamaguchi Yanai Hagi Tokushima Hiwasa Takamatsu Matsuyama Araihama U
Wajima Kochi Cape Muroto Shimizu Fukuoka Yawata Iizuka Kurume Saga Imari Nagasaki Sasebo Sagebo Fukue Kumamoto Aso Otohime Ushifuka Hitoyoshi Oita Nakatsu Hida Saeki Miyazaki Nobuoka Miyazaki Takachiho Kagoshima Kagoshima Kagoshago

Résumé

Recommended Posts

Afficher les prévisions météorologiques du jour avec le script shell
Tweet la météo avec bot
Gérez les générations de rotation des journaux avec un script shell.
Tweet les prévisions météo avec le bot Partie 2
Essayez de programmer avec un shell!
Essayons un script shell
Scraping prévisions météorologiques avec python
[Linux] Copie des données de Linux vers Windows avec un script shell
Traitez les fichiers du dossier dans l'ordre avec le script shell
[Linux] Ecrire un outil de déploiement à l'aide de rsync avec un script shell
Automatisez la construction d'environnement avec ShellScript
Ecrire un script batch avec Python3.5 ~
Traitez le contenu du fichier dans l'ordre avec un script shell
[Ubuntu] Comment exécuter un script shell
Créez un système stellaire avec le script Blender 2.80
Créer un script shell pour écrire un journal
Effacer et générer des fichiers de numéro de série avec un script shell
Lancez le shell pendant que le script Python est en cours d'exécution
Web scraping avec Python (prévisions météo)
Essayez de créer un problème FizzBuzz avec un programme shell
Principes de base du script Shell # 2
Script Shell pour mettre Webmin dans Alpine Linux
[Piyopiyokai # 1] Jouons avec Lambda: création d'un script Python
Conseils pour ouvrir une scène avec une référence brisée dans un script