免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: linlone
打印 上一主题 下一主题

[文本处理] 如何将几个表格信息转成按行分割的文本信息 [复制链接]

论坛徽章:
20
卯兔
日期:2015-01-26 22:05:142015亚冠之萨济拖拉机
日期:2015-09-10 15:15:282015亚冠之阿尔希拉尔
日期:2015-09-25 17:37:53程序设计版块每日发帖之星
日期:2015-10-03 06:20:00程序设计版块每日发帖之星
日期:2015-12-09 06:20:00CU十四周年纪念徽章
日期:2015-12-17 09:07:15程序设计版块每日发帖之星
日期:2015-12-25 06:20:34程序设计版块每日发帖之星
日期:2015-12-25 06:20:34程序设计版块每日发帖之星
日期:2015-12-25 06:20:342015亚冠之广州富力
日期:2015-08-27 19:29:56每日论坛发贴之星
日期:2015-08-26 06:20:002015亚冠之阿尔希拉尔
日期:2015-05-18 17:26:27
11 [报告]
发表于 2016-01-17 23:15 |只看该作者
回复 1# linlone
  1. awk '/<table>/{f=1}f&&/<td>/{match($0,/>([^<]+)</,a);s=s?s" "a[1]:a[1]}/<\/table>/{f=0;print s;s=""}' file
  2. sed -nr '/<table>/,/<\/table>/{/<\/table>/{g;s#\n##;s#\n# #gp;z;h};/<td>/{s#.*>([^<]+)<.*#\1#;H}}' file
复制代码

论坛徽章:
10
2015年亚洲杯之科威特
日期:2015-04-13 13:51:5315-16赛季CBA联赛之山东
日期:2016-01-16 18:35:0815-16赛季CBA联赛之广东
日期:2016-01-04 15:26:23程序设计版块每日发帖之星
日期:2015-11-13 06:20:002015亚冠之阿尔艾因
日期:2015-11-10 12:32:242015亚冠之阿尔沙巴布
日期:2015-05-15 18:26:49羊年新春福章
日期:2015-04-28 16:45:112015年亚洲杯之伊拉克
日期:2015-04-25 20:06:30羊年新春福章
日期:2015-04-13 13:53:2015-16赛季CBA联赛之八一
日期:2016-01-20 18:23:49
12 [报告]
发表于 2016-01-18 00:12 |只看该作者
  1. awk '/tr/{c++}{gsub(/.*"|[a-z]|<|>|\/|^ +/,"");a[c]=a[c]" "gensub(/.*>([^<]+)<.*/,"\\1","g")}/<\/tr>/{c++}END{for(i=1;i<=c;i++)print a[i]}'  file
复制代码

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
13 [报告]
发表于 2016-01-18 22:33 |只看该作者
本帖最后由 jason680 于 2016-01-19 00:15 编辑

回复 7# linlone

...
     <td><a href="/projects/report/wiki/aa" class="wiki-page">张三</a></td>
     <td><a href="/projects/report/wiki/bb" class="wiki-page">李四</a></td>
     <td><a href="/projects/report/wiki/cc" class="wiki-page">王麻子</a></td>
     <td><a href="/projects/report/wiki/cc" class="wiki-page">老五</a></td>
  </tr>
...
     <td><a href="/projects/report/wiki/dd" class="wiki-page">唐六</a></td>
     <td><a href="/projects/report/wiki/ee" class="wiki-page">吴七</a></td>
     <td><a href="/projects/report/wiki/ff" class="wiki-page">龟孙子</a></td>
  </tr>
...

$ awk '/<td>/{gsub(/<[^>]+>/,"");gsub(/^[ \t]+|[ \t]+$/,"");printf("%s ",$0)}/<\/tr>/{print""}' FILE
张三 李四 王麻子 老五
唐六 吴七 龟孙子


   

论坛徽章:
20
程序设计版块每日发帖之星
日期:2015-10-11 06:20:0015-16赛季CBA联赛之山东
日期:2016-05-28 18:18:5615-16赛季CBA联赛之新疆
日期:2017-04-12 22:55:4715-16赛季CBA联赛之青岛
日期:2017-06-26 18:30:0315-16赛季CBA联赛之四川
日期:2017-09-04 12:27:0315-16赛季CBA联赛之福建
日期:2018-02-09 14:28:3315-16赛季CBA联赛之同曦
日期:2018-04-17 12:43:3415-16赛季CBA联赛之浙江
日期:2018-07-14 13:27:4015-16赛季CBA联赛之吉林
日期:2018-09-13 15:48:2915-16赛季CBA联赛之新疆
日期:2016-05-07 05:05:3215-16赛季CBA联赛之八一
日期:2016-03-14 12:32:06程序设计版块每日发帖之星
日期:2015-12-12 06:20:00
14 [报告]
发表于 2016-01-18 23:38 |只看该作者
来学习下你的思路
回复 13# jason680


   

论坛徽章:
6
羊年新春福章
日期:2015-03-03 17:16:28双子座
日期:2015-03-03 17:16:56巳蛇
日期:2015-03-03 17:17:2415-16赛季CBA联赛之福建
日期:2016-03-11 09:05:00黑曼巴
日期:2016-07-07 16:58:1215-16赛季CBA联赛之吉林
日期:2016-11-14 09:23:07
15 [报告]
发表于 2016-01-27 11:21 |只看该作者
学习了

论坛徽章:
28
15-16赛季CBA联赛之八一
日期:2016-02-22 19:10:4215-16赛季CBA联赛之深圳
日期:2016-12-01 10:34:0415-16赛季CBA联赛之新疆
日期:2016-12-07 10:24:2915-16赛季CBA联赛之同曦
日期:2016-12-15 12:06:43CU十四周年纪念徽章
日期:2016-12-18 13:03:4415-16赛季CBA联赛之吉林
日期:2017-01-03 15:52:2515-16赛季CBA联赛之辽宁
日期:2017-01-04 14:58:2415-16赛季CBA联赛之辽宁
日期:2017-01-15 09:42:512016科比退役纪念章
日期:2017-02-06 17:21:50黑曼巴
日期:2017-02-10 15:46:1215-16赛季CBA联赛之上海
日期:2017-03-18 10:14:5415-16赛季CBA联赛之青岛
日期:2017-03-18 22:00:44
16 [报告]
发表于 2016-10-08 15:56 |只看该作者

  1. sed -r '/<table>/{:a;N;/<\/table>/!ba;s/<[^>]*>//g;s/^\s*|\s*$//g;s/\s+/ /g};/./!d' t.txt
复制代码

论坛徽章:
307
程序设计版块每周发帖之星
日期:2016-04-08 00:41:33操作系统版块每日发帖之星
日期:2015-09-02 06:20:00每日论坛发贴之星
日期:2015-09-02 06:20:00程序设计版块每日发帖之星
日期:2015-09-04 06:20:00每日论坛发贴之星
日期:2015-09-04 06:20:00每周论坛发贴之星
日期:2015-09-06 22:22:00程序设计版块每日发帖之星
日期:2015-09-09 06:20:00程序设计版块每日发帖之星
日期:2015-09-19 06:20:00程序设计版块每日发帖之星
日期:2015-09-20 06:20:00每日论坛发贴之星
日期:2015-09-20 06:20:00程序设计版块每日发帖之星
日期:2015-09-22 06:20:00程序设计版块每日发帖之星
日期:2015-09-24 06:20:00
17 [报告]
发表于 2016-10-08 17:11 |只看该作者
  1. perl -0ne 'BEGIN{$/="</table>"}{print "@a\n" if(@a=/>([^<>\s]+)/g)}' f
复制代码

论坛徽章:
6
15-16赛季CBA联赛之浙江
日期:2021-07-14 11:18:4315-16赛季CBA联赛之浙江
日期:2021-08-20 17:26:1015-16赛季CBA联赛之天津
日期:2021-09-01 10:56:4619周年集字徽章-19
日期:2021-10-12 11:08:032016科比退役纪念章
日期:2021-10-12 11:33:4515-16赛季CBA联赛之深圳
日期:2021-11-11 14:25:38
18 [报告]
发表于 2021-08-24 14:13 |只看该作者
  1. awk -F"[<>]" '/<tr>/{p=1}p{a=a" "$5}/<\/tr>/{print a;p=0;a=""}' 1.txt
复制代码

论坛徽章:
1
19周年集字徽章-年
日期:2020-10-29 09:39:21
19 [报告]
发表于 2021-11-17 22:02 |只看该作者
perl -M'5;$/="</table>\n"' -nE'$,=$",say/e">([^<]+)/g'

论坛徽章:
25
程序设计版块每日发帖之星
日期:2016-05-03 06:20:0015-16赛季CBA联赛之八一
日期:2018-07-05 10:34:09黑曼巴
日期:2018-07-06 15:19:5015-16赛季CBA联赛之佛山
日期:2018-08-03 13:19:3315-16赛季CBA联赛之山西
日期:2018-08-07 19:46:2315-16赛季CBA联赛之广夏
日期:2018-08-08 19:31:5015-16赛季CBA联赛之青岛
日期:2018-11-26 15:21:5015-16赛季CBA联赛之上海
日期:2018-12-11 09:45:3219周年集字徽章-年
日期:2020-04-18 23:54:5215-16赛季CBA联赛之深圳
日期:2020-04-19 21:40:19黑曼巴
日期:2022-04-03 17:55:1315-16赛季CBA联赛之八一
日期:2018-07-03 16:56:46
20 [报告]
发表于 2021-11-18 14:33 |只看该作者
本帖最后由 wh7211 于 2021-11-18 14:40 编辑


  1. cat 1
  2.         <table>
  3.                 <tr>
  4.                         <td><a href="/projects/report/wiki/aa" class="wiki-page">张三</a></td>
  5.                         <td><a href="/projects/report/wiki/bb" class="wiki-page">李四</a></td>
  6.                         <td><a href="/projects/report/wiki/cc" class="wiki-page">王麻子</a></td>
  7.                         <td><a href="/projects/report/wiki/cc" class="wiki-page">老五</a></td>
  8.                 </tr>
  9.         </table>
  10.         <table>
  11.                 <tr>
  12.                         <td><a href="/projects/report/wiki/dd" class="wiki-page">唐六</a></td>
  13.                         <td><a href="/projects/report/wiki/ee" class="wiki-page">吴七</a></td>
  14.                         <td><a href="/projects/report/wiki/ff" class="wiki-page">龟孙子</a></td>
  15.                 </tr>
  16.         </table>

  17. awk '/<td>/{gsub(/<[^>]*>/,"");a=a?a" "$1:$1}/<\/tr>/{print a;a=""}' 1
  18. 张三 李四 王麻子 老五
  19. 唐六 吴七 龟孙子
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP