linux – 使用AWK在同一列中的数字之间的差异

我有一个包含一列数字的文件

1
2
4
4
10

我想用awk计算每个数字之间的差异.输出应该是这样的:

1
2
0
6

我该怎么做 ?

解决方法:

请尝试以下代码

awk '
    NR == 1{old = $1; next}     # if 1st line 
    {print $1 - old; old = $1}  # else...
' file.txt
1
2
0
6

说明

> NR是从输入开始的当前记录的序号.在BEGIN动作中,值应为零.在END操作中,值应为处理的最后一条记录的编号.
>下一个陈述将导致放弃对当前输入记录的所有进一步处理.如果出现下一个语句或在BEGIN或END中调用,则行为未定义
    行动.

相关文章

ubuntu退出redis的示例:指定配置文件方式启动源码redis:roo...
ubuntu中mysql改密码忘了的解决方法:1.在终端中切换到root权...
ubuntu安装mysql失败的解决方法原因:可能是原有的MySQL还有...
使用centos和ubuntu建站的区别有以下几点1.CentOS是Linux发行...
ubuntu图形界面和字符界面切换的方法:可以通过快捷键CTRL+A...
ubuntu中重启mysql失败的解决方法1.首先,在ubuntu命令行中,...