【发布时间】:2018-12-26 01:59:40
【问题描述】:
我正在尝试将字节从命令/文件中的某个匹配转换为 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
【问题讨论】:
-
发布
test.txt的内容 -
test.txt的内容是什么样的? -
用内容编辑了我的帖子
-
好吧,我做了一点搜索,我可以这样做: echo "scale=1;$(cat test.txt | awk '/miscellaneous/ {print $NF}' | sed s/.$ //)/1000.0" | bc 但是 1000**4 不起作用,因为 scale 似乎只用于除法
-
糟糕的做法似乎是: echo "scale=3;$(cat test.txt | awk '/miscellaneous/ {print $NF}' | sed s/.$//) /1000.0/1000.0/1000.0/1000.0" |公元前