我需要知道如何使用单行bash命令计算行百分比。假设我的文件test.tsv
的内容如下所示:
Item Sort Clicks A Clicks B
Item 1 100 50
Item 2 60 40
我想知道按项目排序的每次点击的百分比是这样的:
Item Sort Clicks A Clicks B
Item 1 66.70% 33.33%
Item 2 60% 40%
关于如何做到这一点的任何想法?
答案 0 :(得分:0)
使用awk进行此类操作,bash不进行实数/浮点运算。
Awk脚本:
NR==1 { print }
NR>1 { printf("%s %d %.2f%% %.2f%%\n"
, $1, $2
, ($3*100/($3+$4))
, ($4*100/($3+$4))
) }
这意味着:
在一行中:
awk 'NR==1{print}NR>1{printf("%s %d %.2f%% %.2f%%\n", $1, $2, ($3*100/($3+$4)), ($4*100/($3+$4)))}' test.tsv