我有下面的命令,它的输出如下所示,有没有办法编写一个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发布于 2012-12-28 11:13:15
我知道你在awk上问过了,但也许你可以用cut试试
cut -f4 -d"/"发布于 2012-12-28 11:16:36
使用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)}'发布于 2012-12-28 22:11:19
或者直接使用grep怎么样?
$ ... | grep -Po '(?<=ref: refs/changes/[0-9]{2}/)[0-9]+'
206026
206025
206022https://stackoverflow.com/questions/14064105
复制相似问题