Skip to content

Instantly share code, notes, and snippets.

@TwoSquirrels
Created July 24, 2023 08:23
Show Gist options
  • Save TwoSquirrels/e66207e11c44e09bf827f20505a3c47f to your computer and use it in GitHub Desktop.
Save TwoSquirrels/e66207e11c44e09bf827f20505a3c47f to your computer and use it in GitHub Desktop.
電気使用率取得コマンド
# energy
# oneline: curl -s 'http://agora.ex.nii.ac.jp/earthquake/201103-eastjapan/energy/electrical-japan/info.json' | jq '[.tokyo.time, .tokyo.percentage][]' | tr '\n' ' ' | xargs -n2 bash -c 'echo "$0 現在、東京電力の供給量に対する電力使用率は $1% です"'
function energy() {
error=0
url='http://agora.ex.nii.ac.jp/earthquake/201103-eastjapan/energy/electrical-japan/info.json'
json=$(curl --silent --max-time 2 "$url" || error=1)
[ -z "$json" ] && error=1
[ $error -ne 0 ] && {
echo '電気使用率が取得できませんでした'
return 1
}
echo "$json" | jq 1>/dev/null 2>/dev/null || {
echo '電気使用率の JSON のパースに失敗しました'
return 2
}
region="$1"
[ -z "$region" ] && region='tokyo'
region_name=$(echo '{"chubu":"中部","chugoku":"中国","hokkaido":"北海道","hokuriku":"北陸","kansai":"関西","kyushu":"九州","okinawa":"沖縄","shikoku":"四国","tohoku":"東北","tokyo":"東京"}' | jq -r ".$region")
[ "$region_name" = 'null' ] && region_name="$region"
timing=$(echo "$json" | jq -r ".$region.time" || error=1)
percentage=$(echo "$json" | jq -r ".$region.percentage" || error=1)
[ $error -ne 0 ] || [ "$timing" = 'null' ] || [ "$percentage" = 'null' ] && {
echo "地域 \"$region\" の電力使用率が取得できませんでした"
return 3
}
echo "$timing 現在、$region_name電力の供給量に対する電力使用率は $percentage% です"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment