【问题标题】:how make float to integer in awk如何在awk中将浮点数转换为整数
【发布时间】:2012-10-07 10:43:53
【问题描述】:

我的 awk 代码中有一个变量。在对该变量进行一些算术运算并打印 (print $1,$2,variable) 后,结果如下:

我的结果

Bama     2   5    
Bama     2   5.001
Bama     2   5.002
Bama     2   5.003
Bama     2   5.004
Bama     2   6  
Bama     2   6.003
Bama     2   6.004
Bama     2   4.005  

但我只想要变量打印的整数部分

想要的结果

Bama     2   5    
Bama     2   5
Bama     2   5
Bama     2   5
Bama     2   5
Bama     2   6  
Bama     2   6
Bama     2   6
Bama     2   4

我该怎么做?

【问题讨论】:

标签: awk


【解决方案1】:

使用int 函数截断它:

print $1, $2, int( variable );

【讨论】:

【解决方案2】:

要保持完全相同的间距和所有内容:

awk -F ' ' '{print $1"     "$2"   "int($3)}' data.lst

这个修剪,不圆,所以4.9将变成4

一个肮脏的方法是使用点作为字段分隔符:

awk -F '.' '{print $1}' data.lst

输入:

Bama     2   5
Bama     2   5.001
Bama     2   5.002
Bama     2   5.003
Bama     2   5.004
Bama     2   6
Bama     2   6.003
Bama     2   6.004
Bama     2   4.905

两种情况下的输出:

Bama     2   5
Bama     2   5
Bama     2   5
Bama     2   5
Bama     2   5
Bama     2   6
Bama     2   6
Bama     2   6
Bama     2   4

【讨论】:

    猜你喜欢
    • 2011-05-21
    • 2010-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多