求一段脚本

2014-06-20 16:26:50 +08:00
 holy_sin
我想把每天svn的log写到周报里,每一段的内容如下

------------------------------------------------------------------------
r22391 | me | 2014-06-20 11:36:56 +0800 (Fri, 20 Jun 2014) | 3 lines

1.提交的内容

reviewed by: leader
------------------------------------------------------------------------

我想把“1.提交的内容”这句话提出来,应该怎样做呢,而且有时候reviewed by这句话可能忘记写,大家帮忙想一下吧,每天写日报好烦,或者提示一下我应该用那个工具,awk,sed什么的
3086 次点击
所在节点    问与答
12 条回复
jedyu
2014-06-20 16:33:26 +08:00
提交时写成:

fuck leader begin
1.提交的内容
2.提交的内容
fuck leader end

这样就可以随便用正则提取了
mechille
2014-06-20 16:44:56 +08:00
@jedyu 你的leader怎么让你活到今天的 XD
viila
2014-06-20 16:53:26 +08:00
大概思路可以 grep -v 过滤题干,sed 's/ //g'去掉空格,然后grep -v ^$去掉空行。
比如 svn log|grep -v ^r|sed 's/ //g'|grep -v ^$
holy_sin
2014-06-20 16:57:58 +08:00
@jedyu 不敢 哈哈
holy_sin
2014-06-20 17:05:21 +08:00
svn log -r {2014-06-20}:{2014-06-21} | grep me | cut -d " " -f 1 | while read revision; do svn log -r $revision; done | grep "-" -v | grep -v "review" | grep "^$" -v | while read content; do cut -d "." -f 2; done | awk '{printf("%02d.%s\n", NR, $0)}'

搞出来了,能不能放到脚本里格式化一下呢?
qsl0913
2014-06-20 17:12:16 +08:00
还是按jedyu的建议好,明确的开合区间比较好处理,万一log里混了其他奇怪的东西呢。。。
holy_sin
2014-06-20 17:36:41 +08:00
@qsl0913 目前应该没问题,我底下都带了review。
ffffwh
2014-06-20 18:05:58 +08:00
@qsl0913
+1 纯文本大大的不好,要结构化
holy_sin
2014-06-20 20:28:15 +08:00
想把脚本弄到alfred workflow下面,grep居然对中文乱码,怎么破?
holy_sin
2014-06-20 20:41:29 +08:00
不知道能不能用apple script把日报直接塞到google doc里,那就爽了
SoloCompany
2014-06-21 10:02:33 +08:00
用XML格式输出然后用xpath命令提取啊
holy_sin
2014-06-23 10:43:16 +08:00
@SoloCompany ok 研究一下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/118649

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX