原始文件:

a|||a 2 0.111111
a|||book 1 0.0555556
a|||is 2 0.111111

现在我需要用6个十进制空格来控制第三列
在我尝试awk {'print $1,$2; printf "%.6f\t",$3'}
但结果不是我想要的
结果:
a|||a 2
0.111111        a|||book 1
0.055556        a|||is 2

太奇怪了,我怎么能这么做呢,只需要修改第三列

最佳答案

您的print()正在添加换行符。将第三个字段包含在其中,但要格式化。尝试使用sprintf()函数,例如:

awk '{print $1,$2, sprintf("%.6f", $3)}' infile

结果是:
a|||a 2 0.111111
a|||book 1 0.055556
a|||is 2 0.111111

关于linux - 如何在Linux中使用AWK格式化十进制空间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37270883/

10-12 21:21