免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2003 | 回复: 11
打印 上一主题 下一主题

[文本处理] 文本处理,求大神 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2018-07-27 10:47 |只看该作者 |倒序浏览
本帖最后由 fenghedong_007 于 2018-07-27 10:49 编辑


     <name>api_server1</name>
    <machine>apiserverMach1</machine>
    <listen-port>8301</listen-port>
    <name>api_server2</name>
    <machine>apiserverMach1</machine>
    <listen-port>8302</listen-port>
    <name>api_server3</name>
    <machine>apiserverMach2</machine>
    <listen-port>8303</listen-port>
    <name>api_server4</name>
    <machine>apiserverMach2</machine>
    <listen-port>8304</listen-port>


能不能处理成  
8301 api_server1  apiserverMach1
8302  api_server2  apiserverMach2
这种格式??

论坛徽章:
4
15-16赛季CBA联赛之青岛
日期:2018-07-09 14:17:2815-16赛季CBA联赛之八一
日期:2018-08-06 15:30:0515-16赛季CBA联赛之广东
日期:2018-08-09 09:11:2115-16赛季CBA联赛之佛山
日期:2019-02-14 09:26:31
2 [报告]
发表于 2018-07-27 14:33 |只看该作者
  1. awk '{match($0,/>(.*)</,a);a[1]~/_/?c=a[1]:0;a[1]~/apis/?d=a[1]:0;if(a[1]~/[0-9][0-9]+/&&c&&d){print a[1],c,d}}' urfile
复制代码

论坛徽章:
39
双子座
日期:2014-08-06 17:37:19极客徽章
日期:2016-12-07 14:03:402017金鸡报晓
日期:2017-01-10 15:13:292017金鸡报晓
日期:2017-02-08 10:39:4215-16赛季CBA联赛之新疆
日期:2017-03-24 16:36:1915-16赛季CBA联赛之江苏
日期:2017-04-26 17:19:08黑曼巴
日期:2018-03-07 18:56:5615-16赛季CBA联赛之八一
日期:2018-03-09 10:44:1015-16赛季CBA联赛之江苏
日期:2018-03-12 15:12:1915-16赛季CBA联赛之青岛
日期:2018-03-16 09:13:0515-16赛季CBA联赛之山东
日期:2018-04-27 18:23:0515-16赛季CBA联赛之新疆
日期:2018-05-04 11:29:30
3 [报告]
发表于 2018-07-27 14:34 |只看该作者
  1. sed -r 'N;N;s#<name>(\w+)</name>\n<machine>(\w+)</machine>\n<listen-port>(.*)</listen-port>#\3 \1 \2#'
复制代码


写的很丑  不要见怪

论坛徽章:
4
15-16赛季CBA联赛之青岛
日期:2018-07-09 14:17:2815-16赛季CBA联赛之八一
日期:2018-08-06 15:30:0515-16赛季CBA联赛之广东
日期:2018-08-09 09:11:2115-16赛季CBA联赛之佛山
日期:2019-02-14 09:26:31
4 [报告]
发表于 2018-07-27 15:02 |只看该作者
本帖最后由 christmas1102 于 2018-07-27 19:59 编辑

回复 1# fenghedong_007

  1. sed -r ':a N;s#[ ]+?\S+>(.*)<\S+\n\s+?\S+>(.*)<\S+\n\s+?\S+>(.*)<\S+#\3 \1 \2#;$!ba' urfile
复制代码


5楼道友非鞭策我完善这个正则表达式,我说过~sed 就是一把屠龙刀~ .. 后面怎么说来着?


论坛徽章:
0
5 [报告]
发表于 2018-07-27 19:44 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
6 [报告]
发表于 2018-07-30 10:31 |只看该作者
awk 'BEGIN{FS="[<>]";RS="</listen-port>"}{if($3~/api_server/)print $NF,$3,$7}'

论坛徽章:
0
7 [报告]
发表于 2018-07-30 10:32 |只看该作者
本帖最后由 joan8363 于 2018-07-30 10:33 编辑

发重了...貌似删不了

论坛徽章:
24
申猴
日期:2014-10-10 15:56:39射手座
日期:2014-10-10 15:57:18黑曼巴
日期:2018-05-14 11:05:122016科比退役纪念章
日期:2018-05-14 11:05:0715-16赛季CBA联赛之北控
日期:2018-05-14 11:05:0015-16赛季CBA联赛之江苏
日期:2017-02-27 18:11:0715-16赛季CBA联赛之上海
日期:2018-08-15 09:48:5415-16赛季CBA联赛之佛山
日期:2018-07-20 17:14:2315-16赛季CBA联赛之佛山
日期:2019-09-10 18:08:4615-16赛季CBA联赛之山西
日期:2020-03-26 09:40:5115-16赛季CBA联赛之佛山
日期:2020-05-08 09:03:54
8 [报告]
发表于 2018-07-30 10:38 |只看该作者
sed -r 'N;N;{;s/<[^>]*>//g;s/\n/ /g};s/(.*) ([0-9]+)$/\2 \1/g' 1.txt

论坛徽章:
0
9 [报告]
发表于 2018-07-30 14:48 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
4
15-16赛季CBA联赛之青岛
日期:2018-07-09 14:17:2815-16赛季CBA联赛之八一
日期:2018-08-06 15:30:0515-16赛季CBA联赛之广东
日期:2018-08-09 09:11:2115-16赛季CBA联赛之佛山
日期:2019-02-14 09:26:31
10 [报告]
发表于 2018-07-30 17:53 |只看该作者
本友会机友会摄友会 发表于 2018-07-30 14:48
回 4楼
1 大花括号换行不是必须,可以写成 if () { xxx}。同理空行也不是必须,是为了美观。
2 你看是 ...

哈哈服服&hellip;请问大师ps里用不用正则表达式呀,不做售前真的屈才,大师
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP