How remove scientific notation in awk?
在下面的awk命令中
1
| awk '{sum+=$1; ++n} END {avg=sum/n; print"Avg monitoring time ="avg}' file.txt |
我应该更改什么以删除科学记数法输出(非常小的值显示为1.5e-05)?
我无法成功使用omft变量。
- 这似乎不是与C有关的问题。
- 你说得对,谢谢你的编辑。
您应该使用printfawk语句。通过这种方式,您可以指定填充、精度等。在您的情况下,%f控制字母似乎更合适。
- 多谢!!我在printf中找不到f
- 对于那些不经常使用awk而忘记语法的人,这里有一个例子:echo""|awk '{printf"%.2f", 1566666666/50}'。
- 完美答案:),它起作用了。
- 还要注意,即使是对整数求和,也可能要使用%f。
- @ AaronR。如果您不需要awk来接受任何输入,您可以使用awk 'BEGIN{printf"%.2f", 1566666666/50}'来使用您的示例。默认的选择器是$0,它是标准输入,运行前等待标准输入中的换行符,但BEGIN不等待标准输入中的任何内容。另外,为了输出一个新行,您只需执行echo,不需要echo""。