[LINUX] Zeigen Sie die heutige Wettervorhersage mit Shell-Skript an

Einführung

Als Übung für Shell-Skripte habe ich ein Skript erstellt, um das "heutige Wetter" mithilfe der Wettervorhersage-API [Weather Hacks] von Livedoor (http://weather.livedoor.com/weather_hacks/webservice) zu überprüfen.

Außerdem habe ich versucht, den Ortsnamen anzugeben, damit die Wettervorhersage am gewünschten Punkt angezeigt wird.

Skript

Überblick

Wie benutzt man

weather.sh


#!/bin/bash
# http://weather.livedoor.com/forecast/webservice/json/v1?
​
#Extrahieren Sie die Punktnamen und IDs, die mit den eingegebenen Ortsnamen übereinstimmen, aus der Punktdefinitionstabelle (RSS) im ganzen Land.
# 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) \
​
#Wenn der entsprechende Ortsname vorhanden ist, erhalten Sie die Wettervorhersage für diese Stadt.
#Wenn die entsprechende Stadt nicht existiert, endet der Prozess.
if [ -z "$cityname_id" ]; then
    echo 「$1 "Wettervorhersage wird nicht bereitgestellt. Bitte wählen Sie aus folgenden Städten.
    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
    # {Punktname,ID}Extrahieren Sie nur die ID aus der Zeichenfolge von.
    city_id=$(echo $cityname_id | sed "s/.*,//g")
    city_name=$(echo $cityname_id | sed "s/,.*//g")
​
    echo $city_Name des heutigen Wetters:\
        $(curl -s http://weather.livedoor.com/forecast/webservice/json/v1?city=${city_id} \
            | jq '.forecasts[]' \
            | jq -r 'select(.dateLabel=="heute").telop')
fi

Ausführungsergebnis

Ausführungsergebnis (wenn die Wettervorhersage des angegebenen Ortsnamens vorliegt)


[root@akagi ~]# ./weather.sh Tokio
Das heutige Wetter in Tokio: sonnig

Ausführungsergebnis (wenn die Wettervorhersage des angegebenen Ortsnamens nicht existiert)


[root@akagi ~]# ./weather.sh Pinguindorf
Für "Penguin Village" wird keine Wettervorhersage bereitgestellt. Bitte wählen Sie aus folgenden Städten.
----------------------------------------
Wakauchi Asahikawa Rume Amisato Kitami Monbetsu Nemuro Kushiro Obihiro Muroran Urakawa Sapporo Iwamizawa Kuchiyasu Hakodat Esashi Aomori Mutsu Hachinohe Morioka Miyako Universität
Funawatari Sendai Shiraishi Akita Yokote Yamagata Yonezawa Sakata Shinjo Fukushima Onahama Wakamatsu Mito Tsuchiura Utsunomiya Otawara Maebashi Minakami Saitama Bär
Tani Chichibu Chiba Chiba Tateyama Tokio Oshima Hachijojima Vaterinsel Yokohama Odawara Niigata Nagaoka Takada Aikawa Toyama Fushiki Kanazawa Wajima Fukui Tsuruga Kofu Kawaguchiko Nagano Matsumoto Iida Gifu Takayama Shizuoka Amiyo Hamam Mishima Hamada Saigo Okayama Tsuyama Hiroshima Shohara Shimozeki Yamaguchi Yanai Hagi Tokushima Hiwasa Takamatsu Matsuyama Araihama U.
Wajima Kochi Kap 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 Kagoshima Nago

Zusammenfassung

Recommended Posts

Zeigen Sie die heutige Wettervorhersage mit Shell-Skript an
Tweet die Wettervorhersage mit Bot
Verwalten Sie Protokollrotationsgenerationen mit einem Shell-Skript.
Tweet die Wettervorhersage mit Bot Teil 2
Versuchen Sie, mit einer Shell zu programmieren!
Versuchen wir es mit einem Shell-Skript
Kratzwettervorhersage mit Python
[Linux] Kopieren Sie Daten mit einem Shell-Skript von Linux nach Windows
Verarbeiten Sie die Dateien im Ordner in der Reihenfolge mit dem Shell-Skript
[Linux] Schreiben Sie ein Bereitstellungstool mit rsync und einem Shell-Skript
Automatisieren Sie die Umgebungserstellung mit ShellScript
Schreiben Sie ein Batch-Skript mit Python3.5 ~
Verarbeiten Sie den Inhalt der Datei der Reihe nach mit einem Shell-Skript
[Ubuntu] So führen Sie ein Shell-Skript aus
Erstellen Sie ein Sternensystem mit Blender 2.80-Skript
Erstellen eines Shell-Skripts zum Schreiben eines Tagebuchs
Löschen und generieren Sie Seriennummerndateien mit einem Shell-Skript
Starten Sie die Shell, während das Python-Skript ausgeführt wird
Web Scraping mit Python (Wettervorhersage)
Versuchen Sie, ein FizzBuzz-Problem mit einem Shell-Programm zu erstellen
Grundlagen des Shell-Skripts # 2
Shell-Skript zum Einfügen von Webmin in Alpine Linux
[Piyopiyokai # 1] Spielen wir mit Lambda: Erstellen eines Python-Skripts
Tipps zum Öffnen einer Szene mit einer fehlerhaften Referenz in einem Skript