Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Здесь надо вставить свою ссылку с worldweatheronline.com, для этого достаточно зарегестрироваться. Выбрать формат csv
- LINK='Персональная ссылка'
- wget -nv -O /tmp/weather $LINK
- # Прогноз на сегодняшний день
- TEMP_NOW=`cat /tmp/weather | awk NR==9 | cut -f 2 -d \,` # Температура сейчас
- TEMP_MAX=`cat /tmp/weather | awk NR==10 | cut -f 2 -d \,` # Максимальная температура
- TEMP_MIN=`cat /tmp/weather | awk NR==10 | cut -f 4 -d \,` # Минимальная температура
- WIND_SPEED=`cat /tmp/weather | awk NR==10 | cut -f 7 -d \,` # Скорость ветра в км/ч
- WIND_SPEED=`echo $WIND_SPEED/3.6 | bc -l | sed 's/+//g' | sed 's/-//g' | awk '{ split($0, n, "."); print n[1] + (substr(n[2], 1, 1) >= 5 ? 1 : 0) }'` # Перевод скорости ветра в м/с
- WIND_RUMB=`cat /tmp/weather | awk NR==10 | cut -f 9 -d \,` # Направление ветра
- DESCR=`cat /tmp/weather | awk NR==10 | cut -f 12 -d \,` # Описание погоды
- PLUS_MINUS=`echo $TEMP_NOW | sed 's/-/минус/' | sed 's/[0-9]//g'` # Меняет символ "-" на "минус"
- TEMP_NOW=`echo $TEMP_NOW | sed 's/-//'` # Удаляет "-"
- case "$TEMP_NOW" in
- [0]|[5-9]|1?|20|2[5-9]|30|3[5-9]|40|4[5-9] ) echo Температура на улице $PLUS_MINUS $TEMP_NOW градусов. | festival --tts --language russian;;
- [2-4]|2[2-4]|3[2-4]|4[2-4] ) echo Температура на улице $PLUS_MINUS $TEMP_NOW градуса. | festival --tts --language russian;;
- 1|21|31|41 ) echo Температура на улице $PLUS_MINUS $TEMP_NOW градус. | festival --tts --language russian;;
- esac
- PLUS_MINUS=`echo $TEMP_MAX | sed 's/-/минус/' sed 's/[0-9]//g'`
- TEMP_MAX=`echo $TEMP_MAX | sed 's/-//'`
- case "$TEMP_MAX" in
- [0]|[5-9]|1?|20|2[5-9]|30|3[5-9]|40|4[5-9] ) echo Максимальная температура сегодня $PLUS_MINUS $TEMP_MAX градусов. | festival --tts --language russian;;
- [2-4]|2[2-4]|3[2-4]|4[2-4] ) echo Максимальная температура сегодня $PLUS_MINUS $TEMP_MAX градуса. | festival --tts --language russian;;
- 1|21|31|41 ) echo Максимальная температура сегодня $PLUS_MINUS $TEMP_MAX градус. | festival --tts --language russian;;
- esac
- PLUS_MINUS=`echo $TEMP_MIN | sed 's/-/минус/' | sed 's/[0-9]//g'`
- TEMP_MIN=`echo $TEMP_MIN | sed 's/-//'`
- echo Минимальная $PLUS_MINUS $TEMP_MIN. | festival --tts --language russian # Укороченный вариант секции, что снизу закоментированна
- #case "$TEMP_MIN" in
- # [0]|[5-9]|1?|20|2[5-9]|30|3[5-9]|40|4[5-9] ) echo Минимальная $PLUS_MINUS $TEMP_MIN градусов | festival --tts --language russian;;
- # [2-4]|2[2-4]|3[2-4]|4[2-4] ) echo Минимальная $PLUS_MINUS $TEMP_MIN градуса | festival --tts --language russian;;
- # 1|21|31|41 ) echo Минимальная $PLUS_MINUS $TEMP_MIN градус | festival --tts --language russian;;
- #esac
- # Здесь надо добавить остальное описание
- case "$DESCR" in
- "Light sleet" ) echo дождь со снегом | festival --tts --language russian;;
- "Overcast" ) echo Облачно | festival --tts --language russian;;
- esac
- # Ветер
- case "$WIND_SPEED" in
- [5-9]|1?|20|2[5-9]|30|3[5-9]|40|4[5-9] ) METR="метров";;
- [2-4]|2[2-4]|3[2-4]|4[2-4] ) METR="метра";;
- 1|21|31|41 ) METR="метр";;
- esac
- # Так как не охота заморачиваться со всякими северо-северо-востоками, будет так
- case "$WIND_RUMB" in
- N ) WIND_RUMB="северный";;
- NNE ) WIND_RUMB="северный";;
- NE ) WIND_RUMB="северо-восточный";;
- ENE ) WIND_RUMB="северо-восточный";;
- E ) WIND_RUMB="восточный";;
- ESE ) WIND_RUMB="восточный";;
- SE ) WIND_RUMB="юго-восточный";;
- SSE ) WIND_RUMB="юго-восточный";;
- S ) WIND_RUMB="южный";;
- SSW ) WIND_RUMB="южный";;
- SW ) WIND_RUMB="юго-западный";;
- WSW ) WIND_RUMB="юго-западный";;
- W ) WIND_RUMB="западный";;
- WNW ) WIND_RUMB="западный";;
- NW ) WIND_RUMB="северо-западный";;
- NNW ) WIND_RUMB="северо-западный";;
- esac
- echo Ветер $WIND_RUMB $WIND_SPEED $METR в секунду. | festival --tts --language russian
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement