シェルワンライナー160本ノック問題151
問題151 複数サイトの情報の連携
実際に手を動かすというのが本当にできないなとつくづく思う。前にやったのにすぐ忘れてしまいがちだ。
解答例は
cat 11302.xml | grep -oP '<(station_name|lon|lat)>\K.*(?=</\1>)' | xargs -n3 sh -c 'printf "$0 "; curl -s "http://cyberjapandata2.gsi.go.jp/general/dem/scripts/getelevation.php?lon=$1&lat=$2" | jq .elevation; sleep 1' | sort -k2,2n
となる。shなどで変数を受け取るときは$0から始まるようになる。なぜかは不明。なのでここではprintf $0で駅名を出力して後のURLで標高を出力している。