特に、テキストでパターンが繰り返される場合は、複数行のパターンを抽出する方法を知りたいです。
テキストは次のとおりです。
<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>
各セルから2番目のセルをインポートする必要があります<tr> ... </tr>
。つまり、出力は次のようになります(上記の2つのセルしかない場合<tr> ... </tr>
)。
Pilialo
Makani Dav
答え1
あなたの例が有効なHTML / XML文書(具体的にはルート要素を持つ)に含まれており、G-Manが言ったように2番目のものが欲しいとします。テーブルセル各行にXMLstarletを使用するのは簡単です。
< /tmp/xml xmlstarlet sel -t -m '//tr/td[2]' -v . -n
Pilialo
Makani
sel
文書から選択
-t
テンプレートは次のとおりです。
-m '//tr/td[2]'
td
任意の位置で2番目の要素と一致します。tr
-v .
出力ノードの値(内部テキスト)
-n
改行文字を追加