【发布时间】:2022-11-29 01:46:15
【问题描述】:
我是初学者,我正在尝试制作一个 bash 脚本,从网站下载数据并告诉我服务的每小时价格,并告诉我什么时候便宜,什么时候贵。
curl -s https://something.json | jq '.tomorrow[] | select(.region=="region3") | {values, median}'
从那个命令我得到这个:
{
"values": [
71.65,
70.76,
70.63,
71.43,
73.47,
84.35,
88.18,
97.98,
112.65,
155.36,
155.32,
207.12,
252.48,
311.12,
350.38,
452.02,
461.86,
503.09,
487.77,
465.18,
401.17,
335.88,
298.53,
255.61
],
"median": 243.08
}
我想检查每个值与中位数的比较并打印出类似
At 1am it is cheap
...
At 5pm it is expensive
...
At 11pm it is cheap
...
我试过了,但没用
curl -s https://something.json | jq '.tomorrow[] | select(.region=="region3") | {values, median} | if .values >= .median then "Expensive" elif .values <= .median then "Cheap"'
我也考虑过使用 walk() 但不太明白。
【问题讨论】:
-
列表不应该从“12am”开始,即午夜吗?