谁能告诉我哪一个最适合从使用curl接收的html文件中提取以下数据。
<script>document.getElementById("test-summary").innerHTML = "<strong>Test Pages:</strong> 1 right, 0 wrong, 0 ignored, 0 exceptions
我只需要 的部分1 right, 0 wrong, 0 ignored, 0 exceptions
。基于以下标签: document.getElementById("test-summary")
.这些是一些测试结果,我需要根据这些结果做出一些逻辑。
如果有人可以就如何做到这一点提出建议,我将非常感激。
非常感谢,
伊斯特万·卡鲁瑟
答案1
不是超级优雅,但你可以:
sed -ne 's/.*"test-summary".* \([0-9][0-9]* right [^&].*exceptions\) .*/\1/p'
例如:
$ echo '<script>document.getElementById("test-summary").innerHTML = "<strong>Test Pages:</strong> 1 right, 0 wrong, 0 ignored, 0 exceptions ' | sed -ne 's/.*"test-summary".* \([0-9][0-9]* right,[^&].*exceptions\) .*/\1/p'
1 right, 0 wrong, 0 ignored, 0 exceptions
答案2
与grep
和awk
:
grep 'document.getElementById("test-summary")' file.html | awk -F'</strong>|&' '{print $2}'