awk如何计算一组数字和固定值的差?

文件内容如下。

220 34 50 70
553 556 32 21
12 13 14 98 33


我需要计算每行数字与5的差的绝对值。

如上面的结果为
115 29 45 65
548 551 17 16
7 8 9 93 28


如何用awk得到这个结果??

作者: vitas333_cu   发布时间: 2011-06-04

  1. awk '{for(i=1;i<=NF;i++){$i=($i-5)<0?-($i-5):$i-5}}1' file
复制代码

作者: zzy7186   发布时间: 2011-06-04

回复 zzy7186


   

这个最后面一个1 是表示格式吗??  我不知道如何按照原有格式打印出来。

我是直接 print $i-5了。

作者: vitas333_cu   发布时间: 2011-06-04



QUOTE:
回复  zzy7186


   

这个最后面一个1 是表示格式吗??  我不知道如何按照原有格式打印出来。

...
vitas333_cu 发表于 2011-06-04 23:30




    1 等同于print $0

作者: zzy7186   发布时间: 2011-06-04