我得到包含一个字节的 JSON 对象,我正在转换为 TB。通常,我更喜欢这样做的方式是除以 1024 的 4 次方。
我正在使用jq '.value|tonumber|(./(1024*1024*1024*1024))',但我更愿意1024*1024*1024*1024用类似的东西替换 ,1024**4或者1024^4无论如何要这样做jq?还有另一种方式我失踪了吗?
数据很简单,如下所示:
{
"value": "43165913081459",
"name": "AvailableStorage"
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,只有基本的数学运算可用于数字。但是,您应该可以访问平台上可用的C 数学函数。所以 cstdlib 中的很多东西都应该是公平的,比如pow()函数。
(.value | tonumber) / pow(1024; 4)
Run Code Online (Sandbox Code Playgroud)
否则,除了将其作为参数传递之外,我不知道任何其他方法。
$ jq --argjson div "$((1024**4))" '(.value | tonumber) / $div' input.json
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
571 次 |
| 最近记录: |