Bash Awk命令混乱

时间:2015-10-04 09:58:28

标签: bash awk printf

我正在检查一段代码而我无法完全理解它:

var1=`awk -F , '{printf "%.0f\n", $1*17/1000}' $somefile`;

假设它从文件中收到的数字是1000,它将它乘以17并除以1000,但在此之前,就是:"%.0f\n" 我知道剩下的计算如何,但那部分让我感到困惑。 据我了解,它正在计算某事物的概率并打印换行符。 回答一下整个awk命令的解释,我们将不胜感激:D

1 个答案:

答案 0 :(得分:1)

它在计算后将小数点数设置为零(截断数字)。您可以找到更多信息here

您可以输入

自行尝试
awk -F, '{printf "%.0f\n", $1*17/1000}'

在命令行上,它将为每个输入的行转换输入,但这可能更直观。 (Control-D退出)

awk -F, '{printf "%.0f\n", $1}'

PS。请注意,这相当于整数格式化%d或%i(无小数点)