linux - awk命令解析grep

标签 linux unix awk grep

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

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

当前输出:-

ref: refs/changes/26/206026/1
ref: refs/changes/25/206025/1
ref: refs/changes/22/206022/1

期望的输出:-

206026
206025
206022

最佳答案

使用 awk:

awk -F'/' '{print $(NF-1)}' input

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

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)}'

关于linux - awk命令解析grep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14064105/

相关文章:

linux - “vagrant up”在 Windows 上不起作用

linux - 如何在 Linux 上的汇编中找到程序进程 ID 号以自动终止程序?

linux - 使用 Play Framework 在 Linux 上本地进行 HTTPS

perl fork 远程运行时无法正常工作(通过 ssh)

linux - '-' 在 bash 中代表什么?

linux - 使用 sed - shell 脚本将值 append 到变量

linux - 使用ffmpeg drawtext作为rtl语言的问题

bash - AWK:将值返回给 shell 脚本

linux - 我可以使用哪些 linux 命令对制表符分隔的文本文件中的列进行排序?

unix - 给定特定 inode 结构的最大文件大小?