我需要在html文件中搜索多个字符串,然后排除该字符串的搜索部分,并将其余部分保存到文件中。
我的文件就像
<td colspan="2" class="suite-unknown">
<td colspan="2" class="suite-fail">
<span style="margin: 2px; padding: 1px"> </span>TCS-209
<span style="margin: 2px; padding: 1px"> </span>[TC-001] User validates login
<td colspan="2" class="suite-unknown">
<td colspan="2" class="suite-pass">
<span style="margin: 2px; padding: 1px"> </span>TCS-210
<span style="margin: 2px; padding: 1px"> </span>[TC-002] user close browser
我尝试了许多选择: 选项失败:
sed -n ('/<span style="margin: 2px; padding: 1px/p'|'/td colspan="2" class="suite-/p') report.html
另一个:
sed -n '/\/<span style="margin: 2px; padding: 1px\|*td colspan="2" class="suite/p' report.html
我的搜索关键字是:<span style="margin: 2px; padding: 1px
和td colspan="2" class="suite
。
然后,一旦搜索到它,我就需要排除该字符串的搜索关键字,并打印其余部分。
平均输出如下:
-unknown
-fail
TCS-209
[TC-001] User validates login
unknown
pass
TCS-210
[TC-002] user close browser
请帮助
答案 0 :(得分:1)
sed -n 's/^ *<td colspan="2" class="suite\(.*\)">/\1/p;s/^ *<span style="margin: 2px; padding: 1px.*<\/span>//p' myfile
这不是从HTML提取信息的最佳方法,但这样做的目的很简单。
curl -s 'https://raw.githubusercontent.com/aruiz-caritsqa/wdio-html-format-reporter/master/wdio-report.html' | sed -n 's/^ *<td colspan="2" class="suite\(.*\)">/\1/p;s/^ *<span style="margin: 2px; padding: 1px.*<\/span>//p'
给我
-unknown
some example tests for a readme.md demo
-pass
should be a passing test
-fail
should have a failing test
-pass
Full page screenshot