组合重复数据文件的问题,请大侠帮忙解决~非常感谢~~~
时间:2011-02-15
来源:互联网
a.unl文件的第2个域的值为1或2,如果是1,则有一条,如果是2,则有多条数据;b.unl文件的第1个域与a.unl文件的第4域作为唯一关联;c.unl文件的第1域与a.unl文件的第4域作为唯一关联。
如果a.unl文件的第2域的值为1时,需要取b.unl文件的第2、3、4、5、6、7、8域的值;如果a.unl文件的第2域的值为2时,需要取c.unl文件的第二域的值。最终组合成一条数据,这条数据的第1域是唯一的,不能有重复出现,具体的格式为:
a.第1域|b.第2域|b.第3域|b.第4域|b.第5域|b.第6域|b.第7域|b.第8域|c.第2域|c.第2域| ---如果a.unl文件第2域值为2的很多数据,则需要往后继续追加取c.第2域的列数(不管c.第2域匹配到a.unl第4域有多少条数据,对于没匹配用默认为空,以|分隔。最终每条数据的域总数都要相等。)
如下面举例文件示例,最终文件格式为:
第一条数据:0777301555|1050094|1250094|1201051|1211011|1106000|1105000|1206004|1209003|1209001||
第二条数据:0777300041|1050094|1250094|1201051|1211011|1106000|1105000|1206004|1209001|||
第三条数据:0777300078||||||||1209001|1209002|1209003|
用awk或shell、perl脚本实现都可以,请各位大侠帮忙解决下,非常非常的感谢~
a.unl:
0777301555|1|BULK FREE AND PER SECOND 300/= TOTAL IN FREE WITH |BFM_DIS_30X|2000|2037|142|
0777301555|2|I_GPRS_GPRS|I_GPRS|2000|2037|84|
0777301555|2|I_IDD_IDD|I_IDD_IDD|2000|2037|7|
0777300041|1|BULK FREE AND PER SECOND 300/= TOTAL IN FREE WITH |BFM_DIS_30X|2000|2037|401|
0777300041|2|I_IDD_IDD|I_IDD_IDD|2000|2037|7|
0777300078|1|BULK FREE AND PER SECOND 300/= TOTAL IN FREE|BFM_30X|2000|2037|400|
0777300078|2|I_IDD_IDD|I_IDD_IDD|2000|2037|7|
0777300078|2|I_SMS_SMS|I_SMS_SMS|2000|2037|142|
0777300078|2|I_GPRS_GPRS|I_GPRS|2000|2037|84|
b.unl:
OFJKH|1050003|1250003|1201051|1211011|1106000|1105000||
SIT2X|1050003|1250003|1201051|1211011|1106000|1105000||
ST20X|1050003|1250003|1201051|1211011|1106000|1105000||
BFM_DIS_30X|1050094|1250094|1201051|1211011|1106000|1105000|1206004|
BFM_B110|1050094|1250094|1201051|1211011|1106000|1105000|1206004|
BFM_ROYTHO|1050094|1250094|1201051|1211011|1106000|1105000|1206004|
BFM_SUP30X|1050094|1250094|1201051|1211011|1106000|1105000|1206004|
BFM30X_NEW|1050094|1250094|1201051|1211011|1106000|1105000|1206004|
c.unl:
BFM_L23G_30X|1209005|
I_IDD_IDD|1209001|
BFM_DIS_L2_30X|1209006|
FR|1209007|
I_SMS_SMS|1209002|
I_VOICE_SU503|1209004|
I_GPRS|1209003|
如果a.unl文件的第2域的值为1时,需要取b.unl文件的第2、3、4、5、6、7、8域的值;如果a.unl文件的第2域的值为2时,需要取c.unl文件的第二域的值。最终组合成一条数据,这条数据的第1域是唯一的,不能有重复出现,具体的格式为:
a.第1域|b.第2域|b.第3域|b.第4域|b.第5域|b.第6域|b.第7域|b.第8域|c.第2域|c.第2域| ---如果a.unl文件第2域值为2的很多数据,则需要往后继续追加取c.第2域的列数(不管c.第2域匹配到a.unl第4域有多少条数据,对于没匹配用默认为空,以|分隔。最终每条数据的域总数都要相等。)
如下面举例文件示例,最终文件格式为:
第一条数据:0777301555|1050094|1250094|1201051|1211011|1106000|1105000|1206004|1209003|1209001||
第二条数据:0777300041|1050094|1250094|1201051|1211011|1106000|1105000|1206004|1209001|||
第三条数据:0777300078||||||||1209001|1209002|1209003|
用awk或shell、perl脚本实现都可以,请各位大侠帮忙解决下,非常非常的感谢~
a.unl:
0777301555|1|BULK FREE AND PER SECOND 300/= TOTAL IN FREE WITH |BFM_DIS_30X|2000|2037|142|
0777301555|2|I_GPRS_GPRS|I_GPRS|2000|2037|84|
0777301555|2|I_IDD_IDD|I_IDD_IDD|2000|2037|7|
0777300041|1|BULK FREE AND PER SECOND 300/= TOTAL IN FREE WITH |BFM_DIS_30X|2000|2037|401|
0777300041|2|I_IDD_IDD|I_IDD_IDD|2000|2037|7|
0777300078|1|BULK FREE AND PER SECOND 300/= TOTAL IN FREE|BFM_30X|2000|2037|400|
0777300078|2|I_IDD_IDD|I_IDD_IDD|2000|2037|7|
0777300078|2|I_SMS_SMS|I_SMS_SMS|2000|2037|142|
0777300078|2|I_GPRS_GPRS|I_GPRS|2000|2037|84|
b.unl:
OFJKH|1050003|1250003|1201051|1211011|1106000|1105000||
SIT2X|1050003|1250003|1201051|1211011|1106000|1105000||
ST20X|1050003|1250003|1201051|1211011|1106000|1105000||
BFM_DIS_30X|1050094|1250094|1201051|1211011|1106000|1105000|1206004|
BFM_B110|1050094|1250094|1201051|1211011|1106000|1105000|1206004|
BFM_ROYTHO|1050094|1250094|1201051|1211011|1106000|1105000|1206004|
BFM_SUP30X|1050094|1250094|1201051|1211011|1106000|1105000|1206004|
BFM30X_NEW|1050094|1250094|1201051|1211011|1106000|1105000|1206004|
c.unl:
BFM_L23G_30X|1209005|
I_IDD_IDD|1209001|
BFM_DIS_L2_30X|1209006|
FR|1209007|
I_SMS_SMS|1209002|
I_VOICE_SU503|1209004|
I_GPRS|1209003|
作者: yangjavine 发布时间: 2011-02-15
导入到数据库里面用 sql 查询不更方便吗
作者: horsley 发布时间: 2011-02-15
回复 horsley
呵呵,这个回答很符合perler精神啦。
呵呵,这个回答很符合perler精神啦。
作者: liyangole 发布时间: 2011-02-15
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28