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得到这个结果??
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
- 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了。
这个最后面一个1 是表示格式吗?? 我不知道如何按照原有格式打印出来。
我是直接 print $i-5了。
作者: vitas333_cu 发布时间: 2011-06-04
QUOTE:
回复 zzy7186
这个最后面一个1 是表示格式吗?? 我不知道如何按照原有格式打印出来。
...
vitas333_cu 发表于 2011-06-04 23:30
这个最后面一个1 是表示格式吗?? 我不知道如何按照原有格式打印出来。
...
vitas333_cu 发表于 2011-06-04 23:30
1 等同于print $0
作者: zzy7186 发布时间: 2011-06-04