请参阅以下内容:
echo "r22543 | foobar | 2016-03-08 17:17:02 +0800 | 1 line" | egrep -o 'r[0-9]+' | egrep -o '[0-9]+'
22543
获取svn修订号是否存在更方便的方式?
答案 0 :(得分:0)
可以使用pcregrep,见下文
echo 'r123456 foo 2016-03-17' | pcregrep -o1 'r([0-9]+)'
123456
看到的
答案 1 :(得分:0)
使用--xml
command line option并解析xml的输出而不是grepping。
svn log https://svn.example.com/myrepo --xml
<?xml version="1.0" encoding="UTF-8"?>
<log>
<logentry
revision="123">
<author>MyAuthor</author>
<date>2016-03-16T14:05:26.310474Z</date>
<msg>Created folder 'foo'.</msg>
</logentry>
</log>
答案 2 :(得分:0)
使用优秀的sed
:
echo "r22543 | foobar | 2016-03-08 17:17:02 +0800 | 1 line" | sed 's/^r\([^[:space:]]\+\).*/\1/'