作者Sharona (爱笑的眼睛)
看板Perl
标题[问题] 档案比对
时间Mon Oct 6 18:24:25 2008
我是Perl的新手 还不是很熟悉
目前手上有两个档案要比对
资料量蛮大 不知道该怎麽写比较有效率
希望板上有高手 可以帮忙一下!!!
两个档案都是tab字元分隔文字档
第一个档案的型态是"表格"
每个ID(N1,N2....Nn)都对应64个S(S1,S2,S3....S64) 如下图
v代表value 即对应的数值 (到小数点第二位)
--------------------------
ID | S1 S2 S3.........S64
--------------------------
N1 | v v v.........v
N2 | v v v.........v
N3 | v v v.........v
N4 | v v v.........v
. | . . ...........
. | . . ...........
. | . . ...........
. | . . ...........
Nn | v v v.........v
--------------------------
第二个档案就是一堆ID
ID
N1
N3
N10
.
.
.
Nn
*如果我现在要从第一个档案表格中挑选出第二个档案有的ID
并且要列印出对应的值 即ID对应的64个值(S1....S64)
等於是把没有对应到的ID和其对应值从第一个档案删除
只保留有对应到的ID和其对应值 再列印出来
我现在的想法是分别将两个档案存到两个暂存阵列中
然後可能用hash或regular expression来处理
但由於刚学没多久 不知道该怎麽起手
或是有更好的办法(??)
希望板上高手们 可以帮忙我解决这个问题
感激不尽!!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.137.191.207
※ 编辑: Sharona 来自: 220.137.191.207 (10/06 18:24)
1F:→ giacch:你的想法不错... 第一个档案弄成hash 第二个档案是key 10/06 20:20
2F:→ giacch:或者第一个档案存成阵列... 第二个档案当RE开头找... 加油~ 10/06 20:22