我正在尝试从命令/文件中的某个匹配项将字节转换为TB。
我得到的命令是:
var=$(($(cat test.txt | awk '/miscellaneous/ {print $NF}' | sed s/.$//)/1000**4)) ; printf $var
该值应为6.182
,但仅打印6
。我只是无法弄清楚如何在此命令中使用bc
来获取浮动值。
test.txt看起来像这样:
"a": 90919780478976,
"b": 150812851408896,
"c": 86337338950671,
"miscellaneous": 6182842641393,
"d": 0,
"e": 58292669816832
答案 0 :(得分:0)
bc
是错误的工具-尝试awk
:
awk '/miscellaneous/ { print $2 / 1.0e12; }' < test.txt
6.18284
在您的原始示例中,它是在bash
中进行除法,该方法仅了解整数算术。