+ -
当前位置:首页 → 问答吧 → 组合重复数据文件的问题,请大侠帮忙解决~非常感谢~~~

组合重复数据文件的问题,请大侠帮忙解决~非常感谢~~~

时间: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|

作者: yangjavine   发布时间: 2011-02-15

导入到数据库里面用 sql 查询不更方便吗

作者: horsley   发布时间: 2011-02-15

回复 horsley


    呵呵,这个回答很符合perler精神啦。

作者: liyangole   发布时间: 2011-02-15

热门下载

更多