Text-Processing
如何提取多條線的圖案
我想知道如何提取多行模式,尤其是當這種模式在文本中重複時。
文本如下所示:
<tr> <td>Wife</td> <td>Pilialo</td> </tr> <tr> <td>Wind</td> <td>Makani Dav</td> </tr> ...
文本以相同的格式繼續:
<tr> <td>some text</td> <td>some text2</td> </tr>
我需要在每個單元格中獲取第二個單元格,
<tr> ... </tr>
即輸出應該是(如果只有以上兩個<tr> ... </tr>
)Pilialo Makani Dav
假設您的範例包含在有效的 HTML/XML 文件中(具體來說,有一個根元素),並且正如 G-Man 所說,您想要每行的第二個表格單元格,使用 XMLstarlet 很容易:
< /tmp/xml xmlstarlet sel -t -m '//tr/td[2]' -v . -n Pilialo Makani
sel
從文件中選擇
-t
這是模板:
-m '//tr/td[2]'
匹配任意位置td
下的第二個元素tr
-v .
輸出(文本內部)節點的值
-n
追加換行符