curl -sS "https://www.river.go.jp/kawabou/file/system/rwCrntTime.json" | jq -r '.crntRwTime' | date -f- +https://www.river.go.jp/kawabou/file/files/tmlist/dam/%Y%m%d/%H%M/0972900700006.json | xargs curl -Ss | jq -r '["日時","貯水率","流入量","放流量"],(.hrValues[] | [.obsTime, .storPcntIrr, .allSink, .allDisch]) | @csv' > tamagawa.csv
パイプからデータ受け入れ
問題8に解説あり
ダブルクォーテーションなし
練習1.3.fに解説あり
コマンドに引数渡す
sed 's;^;ttps://example.com/;;' | sed 's;$;/data.json;'
結果でつながるのはわかるが
これだけよく意味が分からない
2022/07/21
sedの置換区切りのスラッシュのところはスラッシュ以外でもよかったようです コメント参照
neos21.net
NOW=$(curl -Ss "https://www.river.go.jp/kawabou/file/system/rwCrntTime.json" | jq -r '.crntRwTime')
CSV=$(echo $NOW | date -f- +%Y%m%d%H%M.csv)
echo $NOW | date -f- +https://www.river.go.jp/kawabou/file/files/tmlist/dam/%Y%m%d/%H%M/0972900700006.json | xargs curl -Ss | jq -r '["日時","貯水率","流入量","放流量"],(.hrValues[] | [.obsTime, .storPcntIrr, .allSink, .allDisch]) | @csv' > $CSV