首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >awk - if语句的问题

awk - if语句的问题
EN

Stack Overflow用户
提问于 2016-07-26 21:33:55
回答 1查看 61关注 0票数 1

file.txt成为以下文件

代码语言:javascript
运行
复制
1
2
3
5
6
7
15
16
17
19
20
23
24

我试图编写一个awk命令来打印丢失的数字范围。当范围只包含一个数字时,就应该单独打印这个数字。预期输出是

代码语言:javascript
运行
复制
4
8-14
18
21-22

This post为我做了一次班轮的工作

代码语言:javascript
运行
复制
awk '$1!=p+1{print p+1"-"$1-1}{p=$1}' file.txt

4-4
8-14
18-18
21-22

我试图把它修改成

代码语言:javascript
运行
复制
awk 'if ($1!=p+1){if (p+1!=$1-1) {print p+1"-"$1-1} else {print p+1} }{p=$1}' file.txt

但它并不像预期的那样起作用。我似乎误解了如果-否则的语法。我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-26 21:41:27

您可以使用:

代码语言:javascript
运行
复制
awk '$1 != p+1 {print p+1 ($1-1 > p+1 ? "-" $1-1 : "")} {p=$1}' file

4
8-14
18
21-22
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38600267

复制
相关文章

相似问题

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