sed:获取html标签的第一个实例

时间:2018-11-30 17:59:49

标签: html regex bash sed

我有一个html文件,在整个脚本中多次使用标签$ make foo echo "hello, make" hello, make 。我想使用sed来捕获并打印仅使用<table>标签的第一个实例。

这是我要解析的html的代码段。 <table>标签的实例超过10。

我的HTML:

<table>

这是我正在运行的代码

<table border="0" class="first">
  <tr class="a">
     <th>Tests</th>
     <th>Errors </th>
  </tr>
  <tr class="b">
     <td>32</td>
     <td>0</td>
  </tr>
</table>
<table border="0" class="second">
  <tr class="c">
     <th>Tests</th>
     <th>Errors </th>
  </tr>
  <tr class="d">
     <td>32</td>
     <td>0</td>
  </tr>
</table>

我希望能够在第一个sed -n 's:.*<table\(.*\)</table>.*:\1:p' surefire-report.html div中抓取所有内容。所以输出应该是这样:

<table>

1 个答案:

答案 0 :(得分:0)

如果我对您的理解正确,那应该可以...

FILE=surefire-report.html

START=$(grep -n -m1  "<table" $FILE | cut -d ':' -f1)
END=$(grep -n -m1 "</table" $FILE | cut -d ':' -f1)

sed -n -e "$START,$END p" $FILE