AWK:如何将列中的值减1

chr*_*ian 2 awk increment

我在列中有一组值

3  
4  
4  
5  
6  
7  
8  
...  
Run Code Online (Sandbox Code Playgroud)

我希望将所有这些值减1

关于如何在AWK脚本中表达这一点的任何想法?

谢谢


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

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

小智 7

如果它只是一个列,这将做:

awk '{ $7--; print $0 }'
Run Code Online (Sandbox Code Playgroud)

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

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

awk '{ for (f=1; f<=NF; f--) $f--
       print $0
      }'
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助,

克劳斯