如何在unix shell脚本中获取td标记之间的数据

时间:2013-04-25 10:43:18

标签: shell unix

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

例如在下面的

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

如何以一般化的方式检索123.456。

由于

4 个答案:

答案 0 :(得分: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:~# 

我希望它会对你有所帮助。

答案 1 :(得分:0)

sed 's/^.*<td.*>\(.*\)<.*$/\1/' file

答案 2 :(得分:0)

对于正确的解决方案并以通用方式使用适当的解析器,如html-xml-utils

对于非正确和非广义的方式,请使用sed

sed 's/^.*>\([0-9.]*\)<.*$/\1/'

答案 3 :(得分:0)

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

grep诞生于提取事物。 :)

grep -Po '(?<=>)[^<]*'