免费注册 查看新帖 |

Chinaunix

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

遇到个关于去除换行符的难题,请高手指教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-01-14 10:34 |只看该作者 |倒序浏览
这是一个从stdf文件转出来的,原始文件:
  1. PIR:1|0
  2. PTR:2970|1|0|1|P||company eui ok <> serialise4||LH
  3. DTR:<cmd> partid = 000d6f00012e95fd
  4. PRR:1|0|13|704|P|1|1|||||8145
  5. PIR:1|1
  6. PTR:2970|1|1|1|P||company eui ok <> serialise4||LH
  7. DTR:<cmd> partid = 000d6f00012e95fe
  8. PRR:1|1|14|704|P|1|1|||||8145
  9. PIR:1|2
  10. PTR:2970|1|2|1|P||company eui ok <> serialise4||LH
  11. DTR:<cmd> partid = 000d6f00012e95ff
  12. PRR:1|2|15|704|P|1|1|||||8145
  13. PIR:1|3
  14. PTR:2970|1|3|1|P||company eui ok <> serialise4||LH
  15. DTR:<cmd> partid = 000d6f00012e9600
  16. PRR:1|3|16|704|P|1|1|||||8145
  17. PIR:1|0
  18. PTR:2970|1|0|1|P||company eui ok <> serialise4||LH
  19. DTR:<cmd> partid = 000d6f00012e9601
  20. PRR:1|0|17|704|P|1|1|||||8272
  21. PIR:1|1
  22. PTR:2970|1|1|1|P||company eui ok <> serialise4||LH
  23. DTR:<cmd> partid = 000d6f00012e9602
  24. PRR:1|1|18|704|P|1|1|||||8272
复制代码
我想导出那段16位的十六进制数字,程序的代码:
  1. while(<>){
  2. chomp;
  3. if(/^DTR:\<cmd\>/){
  4. $EUItest=$curLine;
  5. @EUItests=split(/=/,$EUItest);
  6. @EUItests[1]=~s/\W+//;
  7. printf PASSEUIDATA ("%20s\n",@EUItests[1]);
  8. print ALLEUIDATA $curLine,"\n";               
  9. }
复制代码
当然,因为程序还是挺长的,这不是完整的程序,但是我导出的文件用Ultraedit打开总是包含一个"?",用其他workpad或Notepad打开显示为换行符,想了各种办法都去除不掉,不知道有没有什么其他办法,请各位指教。

论坛徽章:
0
2 [报告]
发表于 2011-01-14 10:36 |只看该作者
导出的结果也发下:
  1. -DeviceID- -Site- -TResult- -TNumber- -Used_EmberPD_EUI_ID- -EUI_Serio- -HBin- -SBin-
  2. 000000001      0      PASS      2970     000d6f00012e95f5
  3.   0000000001      1      1
  4. 000000002      1      PASS      2970     000d6f00012e95f6
  5.   0000000002      1      1
  6. 000000003      2      PASS      2970     000d6f00012e95f7
  7.   0000000003      1      1
  8. 000000004      3      PASS      2970     000d6f00012e95f8
  9.   0000000004      1      1
  10. 000000005      0      FAIL      2970     ffffffffffffffff
  11.   0000000005      7     12
  12. 000000006      1      PASS      2970     000d6f00012e95f9
  13.   0000000006      1      1
  14. 000000007      2      PASS      2970     000d6f00012e95fa
  15.   0000000007      1      1
复制代码

论坛徽章:
0
3 [报告]
发表于 2011-01-14 10:38 |只看该作者
唉,发上来也是换行了,又不知道怎么传图片。。。。。
但我这里的Ultraedit上显示是000d6f00012e95f5?

论坛徽章:
1
摩羯座
日期:2014-12-29 15:59:36
4 [报告]
发表于 2011-01-14 10:51 |只看该作者
\r\n

论坛徽章:
0
5 [报告]
发表于 2011-01-14 13:02 |只看该作者
\r\n
ziyunfei 发表于 2011-01-14 10:51



    什么意思???没明白。。。。。

论坛徽章:
0
6 [报告]
发表于 2011-01-14 13:22 |只看该作者
是不是这个意思,试过了,\r,\n和\r\n都没用。。。
  1. @EUItests[1]=~s/\r\n//;
复制代码

论坛徽章:
0
7 [报告]
发表于 2011-01-14 13:26 |只看该作者
  1. -DeviceID- -Site- -TResult- -TNumber- -Used_EmberPD_EUI_ID- -EUI_Serio- -HBin- -SBin-
  2. 000000001      0      PASS      2970     000d6f00012e95f5^M  0000000001      1      1
  3. 000000002      1      PASS      2970     000d6f00012e95f6^M  0000000002      1      1
  4. 000000003      2      PASS      2970     000d6f00012e95f7^M  0000000003      1      1
  5. 000000004      3      PASS      2970     000d6f00012e95f8^M  0000000004      1      1
  6. 000000005      0      FAIL      2970     ffffffffffffffff^M  0000000005      7     12
  7. 000000006      1      PASS      2970     000d6f00012e95f9^M  0000000006      1      1
  8. 000000007      2      PASS      2970     000d6f00012e95fa^M  0000000007      1      1
  9. 000000008      3      PASS      2970     000d6f00012e95fb^M  0000000008      1      1
复制代码
刚刚看了下,再Linux下这个符号是^M

论坛徽章:
0
8 [报告]
发表于 2011-01-14 13:28 |只看该作者
搞不懂这个符号是怎么来的。。。。。。。。

论坛徽章:
0
9 [报告]
发表于 2011-01-14 13:33 |只看该作者
查了下,说^M是DOS的换行符,可是试了各种办法都去除不了。。

有没有什么其他办法把这个16位的十六进制数取出来的????

论坛徽章:
0
10 [报告]
发表于 2011-01-14 13:39 |只看该作者
好了,去掉了,就是用的\r,是我刚刚copy文件copy错了。。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP