原始文件:
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/