Chinaunix

标题: 提取XML中数据 [打印本页]

作者: laliheyi    时间: 2015-12-17 01:41
标题: 提取XML中数据
  1. <option value="4448">abc</option><option value="4455">def</option><option value="4450">123</option><option value="4452">456</option><option value="4451">789</option><option value="4449">qwe</option>
复制代码
请教如何提取其中的abc def 123 456 789 qwe?
作者: songyc_2015    时间: 2015-12-17 09:01
sed -r 's#<[^>]+>([^<]+)</[^>]+>#\1 #g' file
作者: dn833    时间: 2015-12-17 09:01
  1. echo '<option value="4448">abc</option><option value="4455">def</option><option value="4450">123</option><option value="4452">456</option><option value="4451">789</option><option value="4449">qwe</option>'|grep -Po '(?<=>)[^<]+'
复制代码

作者: songyc_2015    时间: 2015-12-17 09:14
本帖最后由 songyc_2015 于 2015-12-17 09:16 编辑
  1. awk -vRS="</?[^>]+>"  'NF' ORS=" " file
复制代码

作者: bb659030105    时间: 2015-12-17 09:32
sed -r 's/<[^<]+>/ /g'
作者: vagrant_1220    时间: 2015-12-17 09:37
sed 's/<[^>]*>/ /g' file
作者: jcdiy0601    时间: 2015-12-18 09:19
  1. awk -F '>|<' '{for(i=3;i<=NF;i+=4)printf("%s ",$i)}' file
复制代码

作者: o枫叶o飘零    时间: 2015-12-18 09:35
本帖最后由 o枫叶o飘零 于 2015-12-18 09:36 编辑
  1. grep -oP '(?<=\>)\S+(?=\<\/option)'
复制代码

作者: chengchow    时间: 2015-12-18 14:10
  1. sed -r 's/<[^\>]*>/ /g' file
  2. abc  def  123  456  789  qwe
复制代码





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2