免费注册 查看新帖 |

Chinaunix

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

[文本处理] 渴望先贤指点迷津,字符转换。 [复制链接]

论坛徽章:
4
15-16赛季CBA联赛之北控
日期:2016-12-06 11:11:0115-16赛季CBA联赛之广夏
日期:2016-12-06 15:04:1515-16赛季CBA联赛之四川
日期:2016-12-06 15:59:51黑曼巴
日期:2016-12-09 20:24:05
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-04-17 21:24 |只看该作者 |倒序浏览
10可用积分
本帖最后由 方兆国儿 于 2014-04-17 21:30 编辑

需求:

  1. 将字符串  
  2. D4BED9EA4FBA
  3. 000D5651C089
  4. 转换为:
  5. D4BE.D9EA.4FBA
  6. 000D.5651.C089
复制代码
求助:
请先贤为小弟开光,什么工具可以进行这样的格式转换?


另外:
  1. 将字符串:
  2. D4-BE-D9-EA-4F-BA
  3. 00-0D-56-51-C0-89
  4. 转换为:
  5. D4BE.D9EA.4FBA
  6. 000D.5651.C089
复制代码
  1. 小弟用的方法是:
  2. #!/bin/sh
  3. touch ${1}.out.txt
  4. mac=$(cat ${1})
  5. for var in ${mac}
  6. do
  7.    echo "${var}" | awk -F'-' '{print $1$2"."$3$4"."$5$6}'>>${1}.out.txt
  8. done
复制代码
请先贤赐教,是否有更简便的方法,拜谢!

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
2 [报告]
发表于 2014-04-17 21:24 |只看该作者
  1. perl -lpe 's/-//g; 1 while s/([^.]+)([^.]{4})/$1.$2/g;' urfile
复制代码
  1. sed 's/-//g;:n;s/\([^.]\+\)\([^.]\{4\}\)/\1.\2/;tn;' urfile
复制代码

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
3 [报告]
发表于 2014-04-17 21:57 |只看该作者
本帖最后由 blackold 于 2014-04-17 21:59 编辑

回复 1# 方兆国儿


    发错版了?要用什么来开光?
perl -pe 's/-//g;s/.{4}(?=.)/$&./g' urfile


把$& 转换成 disxxx了。

论坛徽章:
13
15-16赛季CBA联赛之同曦
日期:2016-01-28 19:52:032015亚冠之北京国安
日期:2015-10-07 14:28:19NBA常规赛纪念章
日期:2015-05-04 22:32:03处女座
日期:2015-01-15 19:45:44卯兔
日期:2014-10-28 16:17:14白羊座
日期:2014-05-24 15:10:46寅虎
日期:2014-05-10 09:50:35白羊座
日期:2014-03-12 20:52:17午马
日期:2014-03-01 08:37:27射手座
日期:2014-02-19 19:26:54子鼠
日期:2013-11-30 09:03:56狮子座
日期:2013-09-08 08:37:52
4 [报告]
发表于 2014-04-17 22:21 |只看该作者
本帖最后由 ulovko 于 2014-04-17 22:25 编辑
  1. sed -e :a -e 's/\(.*[a-zA-Z0-9]\)\([a-zA-Z0-9]\{4\}\)/\1.\2/;ta' urfile
复制代码
看出来了,要perl开光这10块钱没我份儿。。

评分

参与人数 1信誉积分 +10 收起 理由
流氓无产者 + 10 赞一个!

查看全部评分

论坛徽章:
4
15-16赛季CBA联赛之北控
日期:2016-12-06 11:11:0115-16赛季CBA联赛之广夏
日期:2016-12-06 15:04:1515-16赛季CBA联赛之四川
日期:2016-12-06 15:59:51黑曼巴
日期:2016-12-09 20:24:05
5 [报告]
发表于 2014-04-17 22:34 |只看该作者
blackold 发表于 2014-04-17 21:24


早就听说黑哥法力无边,今日有缘得见,实乃一生之福。再次拜谢!

论坛徽章:
36
摩羯座
日期:2013-09-23 16:37:312015年亚洲杯之沙特阿拉伯
日期:2015-04-14 09:10:172015亚冠之柏太阳神
日期:2015-06-25 08:48:212015亚冠之武里南联
日期:2015-07-28 09:01:082015亚冠之莱赫维亚
日期:2015-07-28 15:44:172015亚冠之柏斯波利斯
日期:2015-09-06 14:08:52白银圣斗士
日期:2015-11-25 17:06:2815-16赛季CBA联赛之吉林
日期:2015-12-09 16:59:072016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之辽宁
日期:2016-04-14 09:29:04luobin
日期:2016-06-17 17:46:3615-16赛季CBA联赛之天津
日期:2016-08-16 14:11:01
6 [报告]
发表于 2014-04-18 08:59 |只看该作者
  1. 1.sed 's/....\B/&./g'
  2. 2.awk '{gsub(/-/,"");gsub(/....\B/,"&.");print $0}'
复制代码

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
7 [报告]
发表于 2014-04-18 09:20 |只看该作者
  1. sed -r ':1;s/([^.]+)([^.]{4})/\1.\2/;t1'
复制代码
  1. sed -r 's/-//g;:1;s/([^.]+)([^.]{4})/\1.\2/;t1'
复制代码

论坛徽章:
3
酉鸡
日期:2014-04-23 17:17:56丑牛
日期:2014-05-08 11:41:302015亚冠之德黑兰石油
日期:2015-08-03 11:14:27
8 [报告]
发表于 2014-04-18 09:30 |只看该作者
这种思路也可以实现
cat 2
D4BED9EA4FBA
000D5651C089
[root]# cat 2 | sed -r 's/(.{4})/\1\./g' | sed 's/\.$//'
D4BE.D9EA.4FBA
000D.5651.C089

cat 2
D4-BE-D9-EA-4F-BA
00-0D-56-51-C0-89
[root]# cat 2 | sed -r 's/-//g; s/(.{4})/\1\./g' | sed 's/\.$//'
D4BE.D9EA.4FBA
000D.5651.C089

论坛徽章:
780
金牛座
日期:2014-02-26 17:49:58水瓶座
日期:2014-02-26 18:10:15白羊座
日期:2014-04-15 19:29:52寅虎
日期:2014-04-17 19:43:21酉鸡
日期:2014-04-19 21:24:10子鼠
日期:2014-04-22 13:55:24卯兔
日期:2014-04-22 14:20:58亥猪
日期:2014-04-22 16:13:09狮子座
日期:2014-05-05 22:31:17摩羯座
日期:2014-05-06 10:32:53处女座
日期:2014-05-12 09:23:11子鼠
日期:2014-05-21 18:21:27
9 [报告]
发表于 2014-04-18 09:36 |只看该作者
@方兆国儿@blackold

原来黑哥就是传说中的先贤,失敬失敬。
回个帖沾沾仙气,希望自己能早日开窍。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP