我有一个包含两列的文件,以空格分隔。第一列是整数,第二列是double。我的文件格式如下
1 201.45
2 201.42
3 202.92
...
我想要做的是用两个整数列打印相同的文件。新文件应该是那样的
1 201
2 201
3 203
...
我尝试使用awk提供以下命令
awk '{print $1 " " (int) $2}' file.dat
但正如预期的那样,它不起作用。
关于如何做到这一点的任何想法?
答案 0 :(得分:2)
字面上只需要添加0.5
awk '{print $1,int($2+0.5)}' file.dat
答案 1 :(得分:1)
perl怎么样:
perl -lne "print join ( ' ', map { int $_ + 0.5 } split);" file.dat
给出:
1 201
2 201
3 203
注意:技巧是 - 添加0.5
因为int
向下舍入,所以这会得到所需的结果。