如何使用awk或grep从git日志中提取数据?
我必须提取提交消息以及从git日志中更改的相应文件。 基本上,我在提交消息中给出了BUC ID。所以,对于某些文件集,我想获得BUC ID 我的命令的输出:如何使用awk或grep从git日志中提取数据?,git,bash,shell,awk,grep,Git,Bash,Shell,Awk,Grep,我必须提取提交消息以及从git日志中更改的相应文件。 基本上,我在提交消息中给出了BUC ID。所以,对于某些文件集,我想获得BUC ID 我的命令的输出:git log--dirstat commit bcc9d8be62b6ac9b8dc02c0bf56d0f433df59466 Author: Date: Tue Sep 5 12:08:04 2017 +0530 BUC:BUC3565-EPIC14 | Review Page Manage permission
git log--dirstat
commit bcc9d8be62b6ac9b8dc02c0bf56d0f433df59466
Author:
Date: Tue Sep 5 12:08:04 2017 +0530
BUC:BUC3565-EPIC14 | Review Page Manage permission and junit
Change-Id: Ice73d25f77d9f6c4afe647e35bdf9ec280dd7dcf
31.3% manager/src/main/java/com/ericsson/cm/manager/web/listner/
68.6% manager/src/test/java/com/ericsson/cm/manager/web/listners/
commit ab70d068b2bcea4060028a3457551cd1cc35a1f1
Author:
Date: Tue Sep 5 11:30:29 2017 +0530
BUC:BUC12345 MADE some changes
Change-Id: I7e6733afaf8064c1279e5b217c8d4fba469fd061
59.0% webui/servermanagement/src/servermanagement/regions/left/
40.9% webui/servermanagement/src/servermanagement/regions/main/
现在,我只想获取BUC ID
,以便在webui/
中进行更改我怎样才能做到这一点
$ awk -F'[: ]' '/BUC/{buc=$3;next}/webui/{print buc;exit}' logfile
BUC12345
# OR
$ awk '/BUC/{$1=$1;gsub(/BUC:| .*/,"");buc=$0}/webui/{print buc;exit}' logfile
BUC12345
输入:
$ cat logfile
commit bcc9d8be62b6ac9b8dc02c0bf56d0f433df59466
Author:
Date: Tue Sep 5 12:08:04 2017 +0530
BUC:BUC3565-EPIC14 | Review Page Manage permission and junit
Change-Id: Ice73d25f77d9f6c4afe647e35bdf9ec280dd7dcf
31.3% manager/src/main/java/com/ericsson/cm/manager/web/listner/
68.6% manager/src/test/java/com/ericsson/cm/manager/web/listners/
commit ab70d068b2bcea4060028a3457551cd1cc35a1f1
Author:
Date: Tue Sep 5 11:30:29 2017 +0530
BUC:BUC12345 MADE some changes
Change-Id: I7e6733afaf8064c1279e5b217c8d4fba469fd061
59.0% webui/servermanagement/src/servermanagement/regions/left/
40.9% webui/servermanagement/src/servermanagement/regions/main/
该命令将从输出中删除空行,按
webui
过滤,并在webui
匹配之前打印2
行
git-log--dirstat | grep-ve'^$'| grep webui-b2
git-log--pretty=%s--webui/| awk'{print$1}
@ElpieKay谢谢这是我们想要的。非常感谢@DevDio。这正是我想要的。谢谢@Akshay Hegde的回复,但我发现另外两个提供的解决方案更容易使用。