2

我想以一种概括的方式在 unix shell 脚本中的 td 标签之间获取数据。

例如在下面

<td style="padding:3px;" align="center">123.456</td>

如何以概括的方式检索 123.456。

谢谢

4

4 回答 4

2

您可以尝试使用 sed,

sat:~# cat file
<td style="padding:3px;" align="center">123.456</td>
<td>sat</td>
sat:~#  
sat:~# sed 's/<td\(.*[^<>]\+\?>\)\(.*\)<\/td>/\2/g' file
123.456
sat
sat:~# 

我希望它会帮助你。

于 2013-04-25T11:02:04.620 回答
0

如果由于某种原因您不能使用 xml 解析器,

grep 是为了提取东西而诞生的。:)

grep -Po '(?<=>)[^<]*'
于 2013-04-25T11:12:51.797 回答
0
sed 's/^.*<td.*>\(.*\)<.*$/\1/' file
于 2013-04-25T11:04:09.880 回答
0

为了获得适当的解决方案并以通用方式使用适当的解析器,例如html-xml-utils

对于非正确和非一般化的方式,请使用 sed

sed 's/^.*>\([0-9.]*\)<.*$/\1/'
于 2013-04-25T11:07:28.440 回答