Awk:列号长度

时间:2014-04-08 10:18:58

标签: bash awk floating-point-precision

我有一个(也许)愚蠢的问题。

我的数据: 档案1

1234.34  a 1235.34 d
3456.23  b 3457.23 e
2325.89  c 2327.89 f 

我想要像

这样的东西
awk '{if($1==$3) print $4}'

但是当然如果我这样做,它什么都不会打印出来。所以我想修改$ 3的“精度”(在这种情况下)

在某种意义上,当awk读取$ 3时,它会发现:

124
345
232

然后它必须是一种方法,但我不知道。

awk '{if($1==(three digits precision $3)) print $4}'

帮助?

1 个答案:

答案 0 :(得分:5)

您可以计算两个值的差异:

awk '$1 - $3 < 0.01 || $3 - $1 < 0.01 {print $4}' file