加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

比较awk中的连续行

发布时间:2020-12-14 00:04:33 所属栏目:Linux 来源:网络整理
导读:我想使用awk命令比较文件中的连续行.这是输入和输出的示例. 输入文件 6 7 8 9 10 4 5 6 我想要的输出文件是这样的: 678910 14 15 16 基本上我想比较当前行是否大于前一行并继续打印前一行和当前行.只要当前行小于前一行,就为每个后续行添加一个值(10). 解决
我想使用awk命令比较文件中的连续行.这是输入和输出的示例.

输入文件

6    
7    
8    
9    
10    
4    
5    
6

我想要的输出文件是这样的:

6
7
8
9
10 
14 
15 
16

基本上我想比较当前行是否大于前一行并继续打印前一行和当前行.只要当前行小于前一行,就为每个后续行添加一个值(10).

解决方法

根据评论中的要求更新:

awk '{if ($1<prev) {offset++}; print ($1+(offset*10)); prev=$1}' input_file

现在,每次从连续行之间的较大数字变为较小数字时,此增量偏移量将增加10.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读