Météo du terminal

48

Je veux trouver la météo actuelle d'une ville particulière ou ma position depuis le terminal. Existe-t-il une application météo en ligne de commande?

    
posée Avinash Raj 13.12.2013 - 17:52
la source

12 réponses

104

Entrez simplement les informations suivantes dans un terminal:

curl wttr.in

Et obtiendrez votre position de /etc/timezone . Sinon curl wttr.in/your_location . Par exemple, pour Téhéran:

curl wttr.in/tehran

Ce qui vous donne:

Vous pouvez également comparer deux villes:

diff -Naur <(curl -s http://wttr.in/london ) <(curl -s http://wttr.in/new-york )

Le code source de développeur est disponible sur Github .

    
réponse donnée K-FIVE 23.02.2016 - 15:16
la source
15

Recherchez votre ville sur lien et remplacez l'URL du script suivant par l'URL de votre ville:

#!/bin/sh

URL='http://www.accuweather.com/en/de/berlin/10178/weather-forecast/178087'

wget -q -O- "$URL" | awk -F\' '/acm_RecentLocationsCarousel\.push/{print ": "", ""°" }'| head -1

Exemple de sortie:

Berlin, Germany: Foggy, 1°
    
réponse donnée Florian Diesch 13.12.2013 - 18:28
la source
12

Voici un excellent utilitaire de ligne de commande semi-graphique écrit en Go:

lien

Vous devez installer Go et installer des API, mais les instructions sont là. Voici un exemple de photo:

    
réponse donnée jojo 04.06.2015 - 21:19
la source
11

J'ai une autre solution.

Ouvrez votre fichier .bashrc , puis collez ce code en bas

weather(){ curl -s "http://api.wunderground.com/auto/wui/geo/ForecastXML/index.xml?query=${@:-<YOURZIPORLOCATION>}"|perl -ne '/<title>([^<]+)/&&printf "%s: ",;/<fcttext>([^<]+)/&&print ,"\n"';}

Puis sauvegardez & amp; fermez votre fichier .bashrc .

tapez maintenant bash pour mettre à jour le fichier.

puis tapez

weather <location name>

par exemple

[email protected]:~$ weather guntur
December 14, 2013: Clear. High 31&amp;deg;C (87&amp;deg;F). Winds 0 kph North
December 15, 2013: Clear. High 29&amp;deg;C (84&amp;deg;F). Winds 10 kph NNW
December 16, 2013: Clear. High 31&amp;deg;C (87&amp;deg;F). Winds 10 kph North
December 17, 2013: Clear. High 29&amp;deg;C (84&amp;deg;F). Winds 7 kph ENE
December 18, 2013: Scattered Clouds. High 29&amp;deg;C (84&amp;deg;F). Winds 3 kph ENE
December 19, 2013: Scattered Clouds. High 29&amp;deg;C (84&amp;deg;F). Winds 3 kph ENE
    
réponse donnée Ten-Coin 15.12.2013 - 06:04
la source
5

Essayez d'utiliser

telnet rainmaker.wunderground.com
    
réponse donnée SQuirel 26.02.2016 - 03:44
la source
3

D'abord, vous devez installer le paquet weather-util, pour cela il vous suffit d'appuyer sur Ctrl + Alt + T sur votre clavier pour ouvrir Terminal. Lorsqu'il s'ouvre, exécutez la ou les commandes ci-dessous:

sudo apt-get install weather-util

Vous aurez besoin de votre code météo local .

Après l’installation, vous pouvez exécuter weather -i <code> . Le code que vous obtenez du lien ci-dessus. Pour obtenir la liste des options disponibles, vous pouvez exécuter weather Infos météo

    
réponse donnée Mitch 13.12.2013 - 17:57
la source
3

ansiweather

AnsiWeather est un script Shell permettant d'afficher les conditions météorologiques actuelles dans votre terminal, avec prise en charge des couleurs ANSI et des symboles Unicode. Les données météorologiques proviennent de l'API météo OpenWeatherMap.

sudo apt-get install ansiweather
ansiweather -l London,GB -f 3
London forecast => Sat Jan 13: 7/2 °C ☔ - Sun Jan 14: 4/1 °C ☔ - Mon Jan 15: 9/6 °C ☔

lien

    
réponse donnée user782355 13.01.2018 - 15:15
la source
1

J'ai une autre solution.

Ouvrez votre fichier .bashrc, puis collez ce code en bas

test -f ~/.wttr.in || curl -sk wttr.in -o ~/.wttr.in
find ~ -maxdepth 1 -name .wttr.in -cmin +5 -exec curl -sk wttr.in -o ~/.wttr.in \;
head -7 ~/.wttr.in | tail -5
W(){ find ~ -maxdepth 1 -name .wttr.in -cmin +5 -exec curl -sk wttr.in -o ~/.wttr.in \;; head -27 ~/.wttr.in; }

Puis sauvegardez & amp; fermez votre fichier .bashrc. Maintenant, tapez bash pour mettre à jour le fichier.

puis tapez W majuscule

    
réponse donnée sergkog 31.10.2016 - 05:38
la source
1

également un programme pré-installé avec ubuntu appelé inxi vous donnera tous les types de statistiques sur votre ordinateur et il effectuera une sortie météo.

commande: inxi --help

commande: inxi -w

        Conditions: 82 F (28 C) - Clear Time: May 13, 10:52 AM CDT

commande: inxi -wxxx

     Conditions: 82 F (28 C) - Clear Wind: From the SW at 13 MPH Humidity: 60%

       Pressure: 29.99 in (1016 mb) Heat Index: 84 F (29 C)
       Location: city (USA) Altitude: 185 m
       Time: May 13, 10:52 AM CDT (America/Chicago) Observation Time: May 13, 9:54 AM CDT
    
réponse donnée infinitim4tr1x 13.05.2018 - 17:56
la source
1

Pour une sortie météo encore plus courte, lien fournit des données météo de Yahoo! au format texte et xml.

Les fichiers du XML peuvent alors être obtenus avec un analyseur XML tel que xmllint i.e ..

J'ai écrit un script de recherche météo, qui obtient la température actuelle et la description de la météo, puis stocke un symbole Unicode correspondant à la description et le reproduit comme

☂ 6 ° C

Je mets régulièrement à jour via cronjob, puis utilise la sortie dans mon statut de plateau.

Obtenez votre identifiant à yahoocom / news / weather. Changez d'emplacement à l'emplacement de votre choix et recherchez l'ID dans l'URL (si l'URL est yahoocom / news / weather / allemagne / north-rhine-westphalia / bielefeld-20066057, l'ID est 20066057).

Le code XML contient d’autres champs, c’est-à-dire des données prévisionnelles, le vent, etc. - vous pouvez également les analyser si vous le souhaitez.

Malheureusement, certains symboles météo ne sont pas représentés dans Ubuntufont ... n'hésitez pas à les ajuster.

Voici mon script (remplacez 20066057 par votre ID si vous ne vivez pas dans Bielefeld) - dépend de bash, curl et xmllint.

#!/bin/sh
#☁☂☔❄❅❆☃ ☀☁☂⚡⚐☼

# write xml to variable
w_xml=$(curl -Ls "http://weather.tuxnet24.de/?id=20066057&mode=xml");
# get fields from xml via xmllint | xargs for trimming
# weather description
w_txt=$(xmllint --xpath "string(//current_text)" - <<<"$w_xml" | xargs);
# temperature | remove spaces from text (&#176;C prepended by space)
w_tpc=$(xmllint --xpath "string(//current_temp)"  - <<<"$w_xml" | xargs); w_tpc=${w_tpc//[[:blank:]]/};
# further fields not used atm
# w_tph=$(xmllint --xpath "string(//current_temp_high)"  - <<<"$w_xml" | xargs);
# w_tpl=$(xmllint --xpath "string(//current_temp_low)"  - <<<"$w_xml" | xargs);

# set $w_sym according to $w_txt
if   [ "$w_txt" == "Sunny" ]; then w_sym="☼";
elif [ "$w_txt" == "Mostly Sunny" ]; then w_sym="☼";
elif [ "$w_txt" == "Showers" ]; then w_sym="☂";
elif [ "$w_txt" == "Clear" ]; then w_sym="☾";
elif [ "$w_txt" == "Thunderstorms" ]; then w_sym="⚡";
elif [ "$w_txt" == "Scattered Thunderstorms" ]; then w_sym="☔";
elif [ "$w_txt" == "Isolated Thundershovers" ]; then w_sym="☔";
elif [ "$w_txt" == "Cloudy" ]; then w_sym="☁";
elif [ "$w_txt" == "Mostly Cloudy" ]; then w_sym="☁";
elif [ "$w_txt" == "Partly Cloudy" ]; then w_sym="☼☁";
elif [ "$w_txt" == "Breezy" ]; then w_sym="⚐";
# if unknown text, set text instead of symbol
else w_sym=$w_txt; 
fi
# output <symbol><space><temp-in-°C>
echo "$w_sym"" ""$w_tpc";
    
réponse donnée kai-dj 19.04.2017 - 17:22
la source
0

Bien que la solution d'accuweather curl soit plutôt bonne, j'avais besoin de quelque chose de plus informatif, alors j'ai créé un script bash simple qui extrait les informations des 4 prochaines heures du site Web weather.com. Comme dans l'exemple précédent, vous devez modifier le lien pour votre emplacement.

Example output:
$ ./getWeather.sh
Temperature for 1 AM : 65&deg;F and outside should be: Partly - Cloudy FEELS LIKE:   65&deg;
Temperature for 2 AM : 65deg;F and outside should be: Partly - Cloudy FEELS LIKE: 65deg;
Temperature for 3 AM : 63deg; and outside should be: Partly - Cloudy FEELS LIKE: 63deg;
Temperature for 4 AM : 62deg; and should be: Mostly - Clear FEELS LIKE: 62deg;

Le script complet est situé à: lien

    
réponse donnée wozoopa 02.07.2014 - 09:02
la source
0

Vous pouvez comparer les villes en utilisant:

diff -Naur <(curl -s http://wttr.in/london ) <(curl -s http://wttr.in/new-york )

comme illustré dans la réponse la plus votée. wttr.in crée également un excellent écran "splash" chaque fois que vous ouvrez le terminal. Pour ce faire, ajoutez-le à votre fichier ~/.bashrc . Je l'ai fait pour inclure les informations sur la météo, la date, l'heure et la distribution, comme détaillé dans cette réponse: Comment puis-je obtenir cet écran de démarrage du terminal?

Désolé, j'étais dans Ubuntu sous Windows 10 WSL pour les mises à jour du printemps 2018 lorsque j'ai capturé cette image. Promise Je vais bientôt revenir à Ubuntu sous Linux.

    
réponse donnée WinEunuuchs2Unix 13.05.2018 - 19:23
la source

Lire d'autres questions sur les étiquettes