如何在svn日志中获取模式? (仅限票号)

时间:2015-01-08 17:03:31

标签: shell unix svn awk sed

我需要帮助awk或任何更好的方法来获取具有特定模式的票号作为我的输出。例如:

我的日志:

 svn log -v http://test.svn.com/svn/project1/trunk


r1 | testuser1 | 2014-11-10 17:25:08 -0500 (Mon, 10 Nov 2014) | 1 line
Changed paths:
A /trunk/file1
TR#:123456<issue>bug fix</issue>

期望的输出:

TR#:123456

2 个答案:

答案 0 :(得分:2)

您可以使用此grep -o

svn log -v http://test.svn.com/svn/project1/trunk | grep -o '^TR#:[0-9]*'
TR#:123456

答案 1 :(得分:0)

使用 sed:

svn log -v http://test.svn.com/svn/project1/trunk | sed -n '/TR#/s/<.*//p'

仅打印与TR#匹配的行,但删除从<到结束

的所有内容

使用 awk:

svn log -v http://test.svn.com/svn/project1/trunk | awk '/TR#/{gsub(/<.*/,"");print}'

仅打印与TR#匹配的行,但替换<empty string

结尾的所有内容