读书人

perl 文本中的格式,该如何处理

发布时间: 2012-02-15 12:09:44 作者: rapoo

perl 文本中的格式
时间 最大内存缓存消息数运行模式 支持的特性 最大自由实体数
01-19 17:26:00 5000000 正常模式 NetSmc/Qos/MM5/SMPP34/CCM/DCS/Ana 20000
01-19 17:26:00 5000000 正常模式 NetSmc/Qos/MM5/SMPP34/CCM/DCS/Ana 20000
01-19 17:26:00 10000000 40000
01-19 17:26:05 5000000 正常模式 NetSmc/Qos/MM5/SMPP34/CCM/DCS/Ana 20000
01-19 17:26:05 5000000 正常模式 NetSmc/Qos/MM5/SMPP34/CCM/DCS/Ana 20000
01-19 17:26:05 10000000 40000

这些数据在tb_data.txt中。
如何将第一行的数据去掉,并且把数据转成
01-19 17:26:00|5000000|正常模式|NetSmc/Qos/MM5/SMPP34/CCM/DCS/Ana|20000
01-19 17:26:00|5000000|正常模式|NetSmc/Qos/MM5/SMPP34/CCM/DCS/Ana|20000
01-19 17:26:00|10000000|||40000
01-19 17:26:05|5000000|正常模式|NetSmc/Qos/MM5/SMPP34/CCM/DCS/Ana|20000
01-19 17:26:05|5000000|正常模式|NetSmc/Qos/MM5/SMPP34/CCM/DCS/Ana|20000
01-19 17:26:05|10000000|||40000

注意原文本中的字段之间的空格不规范。



[解决办法]
能不能自己先试着写下……
[解决办法]

Perl code
 echo '.. ............. ..... .......01-19 17:26:00 5000000 .... NetSmc/Qos/MM5/SMPP34/CCM/DCS/Ana 2000001-19 17:26:00 5000000 .... NetSmc/Qos/MM5/SMPP34/CCM/DCS/Ana 2000001-19 17:26:00 10000000 4000001-19 17:26:05 5000000 .... NetSmc/Qos/MM5/SMPP34/CCM/DCS/Ana 2000001-19 17:26:05 5000000 .... NetSmc/Qos/MM5/SMPP34/CCM/DCS/Ana 2000001-19 17:26:05 10000000 40000' |\sed '1d;s/[[:blank:]]\+/|/g;s/|$//;s/\([0-9]\)|\([0-9]\+$\)/\1|||\2/'01-19|17:26:00|5000000|....|NetSmc/Qos/MM5/SMPP34/CCM/DCS/Ana|2000001-19|17:26:00|5000000|....|NetSmc/Qos/MM5/SMPP34/CCM/DCS/Ana|2000001-19|17:26:00|10000000|||4000001-19|17:26:05|5000000|....|NetSmc/Qos/MM5/SMPP34/CCM/DCS/Ana|2000001-19|17:26:05|5000000|....|NetSmc/Qos/MM5/SMPP34/CCM/DCS/Ana|2000001-19|17:26:05|10000000|||40000 

读书人网 >perl python

热点推荐