从Perl或shell中的subversion转储文件中获取最高版本号

Vol*_*ker 4 svn bash perl svn-administraton

我想在subversion转储文件中提取最高版本号.除了逐行解析文件之外,使用标准perl(服务器上是否允许额外的模块)或bash shell脚本还有更简单(并且希望更快)的方式吗?

Vol*_*ker 12

如果您使用创建转储文件

svnadmin dump /path/to/repo > Dump1.dump
Run Code Online (Sandbox Code Playgroud)

你可以找到这个单行的最后修订号:

grep --binary-files=text "Revision-number" Dump1.dump | tail -n 1 | sed 's/Revision-number\:\ //g'
Run Code Online (Sandbox Code Playgroud)

或者,为了避免使用整个文件,请使用tac(cat向后)并在第一个(最后一个)匹配时停止.消除了对grep的大输出尾部的需要,并节省了处理时间.

tac Dump1.dump | grep -m1 --binary-files=text "Revision-number" | sed 's/Revision-number\:\ //g'
Run Code Online (Sandbox Code Playgroud)