AWK:如何将列中的值减1

时间:2010-11-19 15:22:53

标签: awk increment

我在列中有一组值

3  
4  
4  
5  
6  
7  
8  
...  

我希望将所有这些值递减1

有关如何在AWK脚本中制定此内容的任何想法吗?

感谢


如果我希望递增条目而不是递减,该怎么办?

awk'{$ 7--;打印$ 1}'工作?

2 个答案:

答案 0 :(得分:6)

如果它只是一个列,则会执行以下操作:

awk '{ $7--; print $0 }'

而不是'$ 7'中的'7',您需要插入您的列号;如果此数字大于10,则将其写为$(77),例如

如果一行的所有列都受到影响,请使用以下命令:

awk '{ for (f=1; f<=NF; f--) $f--
       print $0
      }'

希望这有帮助,

克劳斯

答案 1 :(得分:0)

如果他们在第4栏$4--,然后再做你要做的其他事情(例如打印)。