首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从文件中的条目生成范围

从文件中的条目生成范围
EN

Stack Overflow用户
提问于 2016-06-07 08:06:43
回答 1查看 34关注 0票数 2

我有一个包含如下条目的txt文件

代码语言:javascript
复制
1
2
3
4
7
8
9
12
14
15

我需要生成如下范围

代码语言:javascript
复制
1-4
7-9
12-12
14-15

如何实现上述输出?

这就是我试过的:

代码语言:javascript
复制
awk '{q=$1}{f=$1}{print $q} $1!=p+1{print l"-"f}{l=p+1}{p=$1} END{print}' filename
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-07 08:24:58

我会说..。

代码语言:javascript
复制
awk -v OFS=- 'prev+1<$0 {print first ? first : 1,prev; first=$0}
              {prev=$0}
              END {print first, prev}' file

对于给定的文件,它返回:

代码语言:javascript
复制
$ awk -v OFS=- 'prev+1<$0 {print first ? first : 1,prev; first=$0} {prev=$0} END {print first, prev}' file
1-4
7-9
12-12
14-15

我不会通过您的尝试awk '{q=$1}{f=$1}{print $q} $1!=p+1{print l"-"f}{l=p+1}{p=$1} END{print}' filename,但我确实建议您使用更有代表性的变量名称,以及从一个小片段开始,然后使您的脚本增长。否则,一旦它不起作用,它就变成了你想要扔掉的丛林。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37673819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档