У меня есть команда sed
, которая может извлечь число из отчета HTML о покрытии кода из Coverlet:
sed -rn 's/(<tr><th>Branch coverage:<\/th><td>([0-9]+.?[0-9]+)%<\/td><\/tr>)+/\2/p' /output/report/index.htm
Когда я пробую его в groovy, он не будет работать на \2
с
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
/private/tmp/coverage.groovy: 19: Unexpected input: '\'; Expecting <EOF> @ line 19, column 81.
0-9]+.?[0-9]+)%<\/td><\/tr>)+/\2/
Ошибка кода groovy:
def regex = /(<tr><th>Branch coverage:<\/th><td>([0-9]+.?[0-9]+)%<\/td><\/tr>)+/\2/
new File('/tmp/output/report/index.htm').eachLine { line ->
if ((match = line =~ regex)) {
println match
}
}
Я не уверен, как избежать этого, я думаю?