xpath html将所有第1列和第2列连接在一起并与列“:”连接。 [英] xpath html get all columns 1 and 2 together and concatenate with column ":"

查看:140
本文介绍了xpath html将所有第1列和第2列连接在一起并与列“:”连接。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下命令从第2列获取数据:



表示例:

 <表> 
< tr>
< td> a< / td>
< td> b< / td>
< td> c< / td>
< td> d< / td>
< td> e< / td>
< / tr>
< tr>
< td> 1< / td>
< td> 2< / td>
< td> 3< / td>
< td> 4< / td>
< td> 5< / td>
< / tr>
< / table>



wget -q -O - http://www.example.com | xmllint --html --xpath// table [@ id = \tableID \] // tr // td [position()= 2] // text() - 2> / dev / null

输出如下内容:

  12345 

如何使用:获取第1列和第2列的所有内容: 附加在每一行的符号?



所需的输出:

  a:1 
b:2
c:3
d:4
e:5

先谢谢!






我在这里也提出类似的问题,输出示例和所需的输出:
的xpath HTML结合列


'的div类= h2_lin>解决方案

使用的 xmlstarlet 和<强> AWK

  wget -q -O  - http://www.example.com| xmlstarlet sel -t -v// tr / td-n \ 
| awk -F'\''-v RS = '{N = NF / 2;对于(i = 1; I< = N;我++)打印$ I : $(I + N)}'

输出:

  a:1 
b:2
c:3
d:4
e:5


i have this following command that gets the data from column 2:

Table example:

<table>
    <tr>
        <td>a</td>
        <td>b</td>
        <td>c</td>
        <td>d</td>
        <td>e</td>
    </tr>
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
        <td>4</td>
        <td>5</td>
    </tr>
</table>



wget -q -O - http://www.example.com | xmllint --html --xpath "//table[@id=\"tableID\"]//tr//td[position() = 2]//text() - 2>/dev/null

That outputs something like:

12345

how can I get all both column 1 and column 2 with ":" symbol that appends on each line?

Desired output:

a:1
b:2
c:3
d:4
e:5

Thanks in advanced!


I also asked similar question here with output example and desired output: xpath html combine columns

解决方案

With xmlstarlet and awk:

wget -q -O - "http://www.example.com" | xmlstarlet sel -t -v "//tr/td" -n \
| awk -F'\n' -v RS= '{ n=NF/2; for(i=1;i<=n;i++) print $i ":" $(i+n) }'

The output:

a:1
b:2
c:3
d:4
e:5

这篇关于xpath html将所有第1列和第2列连接在一起并与列“:”连接。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆