Tempo do terminal

46

Eu quero encontrar o tempo atual de uma determinada cidade ou minha localização no terminal. Existe algum aplicativo de tempo de linha de comando?

    
por Avinash Raj 13.12.2013 / 17:52

12 respostas

101

Basta digitar o seguinte em um terminal:

curl wttr.in

E você receberá sua localização em /etc/timezone . Caso contrário, curl wttr.in/your_location . Por exemplo, para Teerã:

curl wttr.in/tehran

O que te dá:

Você também pode comparar duas cidades:

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

O código-fonte do desenvolvedor está disponível em Github .

    
por K-FIVE 23.02.2016 / 15:16
15

Pesquise sua cidade no link e substitua o URL no seguinte script pelo URL da sua cidade:

#!/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

Exemplo de saída:

Berlin, Germany: Foggy, 1°
    
por Florian Diesch 13.12.2013 / 18:28
12

Aqui está um ótimo utilitário de linha de comando semi-gráfico escrito em Go:

link

Você precisará instalar o Go e configurar algumas coisas da API, mas as instruções estão lá. Aqui está uma foto de exemplo:

    
por jojo 04.06.2015 / 21:19
11

Eu tenho mais uma maneira.

Abra o arquivo .bashrc e cole esse código na parte inferior

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

Em seguida, salve & amp; feche seu arquivo .bashrc .

agora digite bash para atualizar o arquivo.

digite

weather <location name>

por exemplo

august@august-OEM:~$ 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
    
por Ten-Coin 15.12.2013 / 06:04
4

Tente usar

telnet rainmaker.wunderground.com
    
por SQuirel 26.02.2016 / 03:44
3

Primeiro você precisa instalar o pacote weather-util, para isso basta pressionar Ctrl + Alt + T no seu teclado para abrir Terminal. Quando se abre, execute o (s) comando (s) abaixo:

sudo apt-get install weather-util

Você precisará do seu código climático local .

Após a instalação, você pode executar weather -i <code> . O código que você recebe no link acima. Para obter uma lista de opções disponíveis, você pode executar weather Informações do tempo

    
por Mitch 13.12.2013 / 17:57
3

ansiweather

AnsiWeather é um script Shell para exibir as condições climáticas atuais no seu terminal, com suporte para cores ANSI e símbolos Unicode. Os dados meteorológicos vêm da API de clima livre do 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 ☔

link

    
por user782355 13.01.2018 / 15:15
1

Eu tenho mais uma maneira.

Abra seu arquivo .bashrc e cole este código na parte inferior

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; }

Em seguida, salve & amp; feche seu arquivo .bashrc. agora digite bash para atualizar o arquivo.

digite W maiúscula

    
por sergkog 31.10.2016 / 05:38
1

Para um tempo mais curto, o link fornece dados meteorológicos do Yahoo! no formato de texto e xml.

As filds do XML podem ser obtidas com um analisador XML como xmllint, por exemplo,

Eu escrevi um script q & amp; d weather-fetch, que recebe a temperatura atual e a descrição do tempo, depois armazena um símbolo unicode correspondente à descrição e gera a saída como

☂ 6 ° C

Eu atualizo regularmente via cronjob e uso a saída no status da minha bandeja.

Obtenha seu ID em yahoocom / news / weather. Mude o local para o local desejado e procure por ID no URL (ou seja, se o URL for yahoocom / news / weather / alemanha / north-rhine-westphalia / bielefeld-20066057, o ID é 20066057).

O XML contém outros campos, ou seja, dados de previsão, vento etc. - você também pode analisá-los, se desejar.

Infelizmente alguns símbolos não estão representados no Ubuntufont… fique à vontade para ajustar.

Aqui está o meu script (substitua 20066057 pelo seu ID se você não mora em Bielefeld) - depende do bash, curl e xmllint.

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

# write xml to variable
w_xml=$(curl --silent "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";
    
por kai-dj 19.04.2017 / 17:22
0

Embora a solução accuweather curl seja muito boa, eu precisava de algo mais informativo, então criei um script simples que extrai informações para as próximas 4 horas do site weather.com. Como no exemplo anterior, você precisa modificar o link para sua localização.

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;

O script completo está localizado em: link

    
por wozoopa 02.07.2014 / 09:02
0

também um programa que vem pré-instalado com o ubuntu chamado inxi lhe dará todos os tipos de estatísticas no seu computador e faz uma previsão do tempo.

Comando

: inxi --help

Comando

: inxi -w

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

: 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
    
por infinitim4tr1x 13.05.2018 / 17:56
0

Você pode comparar cidades usando:

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

como ilustrado na resposta mais votada. wttr.in também faz uma ótima tela "splash" toda vez que você abre o terminal. Faça isso adicionando-o ao seu arquivo ~/.bashrc . Eu fiz isso para incluir informações de tempo, data, hora e distribuição, conforme detalhado nesta resposta: Como posso obter essa tela inicial do terminal?

Desculpe, eu estava no Ubuntu no Windows 10 WSL para atualizações do Spring 2018 quando capturei essa imagem. Prometo que vou voltar ao Ubuntu no Linux em breve.

    
por WinEunuuchs2Unix 13.05.2018 / 19:23