首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于解析grep的Awk命令

用于解析grep的Awk命令
EN

Stack Overflow用户
提问于 2012-12-28 11:10:20
回答 4查看 3.4K关注 0票数 2

我有下面的命令,它的输出如下所示,有没有办法编写一个awk命令来解析当前的输出,并且只打印下面“期望输出”字段中显示的输出?

代码语言:javascript
复制
ssh -p 29418 company.com gerrit query --commit-message --files --current-patch-set status:open project:platform/vendor/company/radio branch:master |grep refs

当前输出:-

代码语言:javascript
复制
ref: refs/changes/26/206026/1
ref: refs/changes/25/206025/1
ref: refs/changes/22/206022/1

所需输出:-

代码语言:javascript
复制
206026
206025
206022
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-12-28 11:13:15

我知道你在awk上问过了,但也许你可以用cut试试

代码语言:javascript
复制
cut -f4 -d"/"
票数 2
EN

Stack Overflow用户

发布于 2012-12-28 11:16:36

使用awk:

代码语言:javascript
复制
awk -F'/' '{print $(NF-1)}' input

另一件事是,您可以删除grep并直接使用awk:

代码语言:javascript
复制
ssh -p 29418 company.com gerrit query     \
          --commit-message --files        \
          --current-patch-set status:open \
          project:platform/vendor/company/radio branch:master |
    awk -F'/' '/refs/ {print $(NF-1)}'
票数 3
EN

Stack Overflow用户

发布于 2012-12-28 22:11:19

或者直接使用grep怎么样?

代码语言:javascript
复制
$ ... | grep -Po '(?<=ref: refs/changes/[0-9]{2}/)[0-9]+'
206026
206025
206022
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14064105

复制
相关文章

相似问题

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