如何在 AIX 服务器中的行前进行 grep

How to grep before line in AIX servers

样本数据

commit 3866ef2ff766054a188475ff100eeea
Author: user1
Date:   Fri Nov 1 12:41:39 2019 +0000

    JIRA-31326
    Update pbr-support-3-col-title-links.jsp

commit a976d88e8e1d8f1489a93df3b65de77a72
Author: user2
Date:   Fri Nov 1 12:33:18 2019 +0000

    JIRA-31326
    Update pbr-coveo-search.jsp

commit 04130086cadd5e552a9b327860720b2637bf
Author: user1
Date:   Fri Nov 1 12:26:24 2019 +0000

    JIRA-31327
    Update pbr-company-article-hero.jsp

我想 grep Jira Id 并找到相应 grep 的提交 Id。在 Linux

中要简单得多
git log | grep 32468 -B4 | awk '{print }'

但遗憾的是 AIX 不支持 grep 的 -B 开关。

如有任何帮助,我们将不胜感激

awk 之类的东西可以完成这项工作:

awk '/commit/{a=}  ~ "JIRA" {split([=10=],b,"-"); print a,b[2]}' input_file

使用--grep option and --format=%H打印提交散列:

git log --grep 'JIRA-32468' --format=%H