我有两个数据集:“数据 1”和“数据 2”。您能否帮我找到“数据 1”中 posi 的每个值,“数据 2”中 posi 位于 Star_posi 和 end_posi 之间的范围。
数据 1
Num posi
1 2
2 14
3 18
4 19
... ...
数据 2
Num Star_posi End_posi
1 1 10
2 3 15
3 17 21
4 23 34
... ... ...
输出
- 位置 2 的数据 1 包含在 star_posi 1 和 end_posi 10 之间的数据 2 中。
- 位置 14 的数据 1 包含在 star_posi 3 和 end_posi 15 之间的数据 2 中。
我想识别数据 2 中的行,其中数据 1 中的值包含在数据 2 中的行范围内。我制作了下面的脚本,但我没有走多远。
#!/usr/bin/perl -w
use strict;
use warnings;
use Data:ump qw(dump);
#Sort the position**************
my (@posi1, $Num2, @Num2, @Num1);
open(POS1,"<posi.txt");
@posi1=<POS1>;
@Num1=@posi1;
open(LIST,">list.txt"); {
@Num2= sort {$a <=> $b} @Num1;
$Num2 = join( '', @Num2);
print $Num2;
print LIST $Num2."\n";
}
close(LIST);
如果您能提供一些指示,我将不胜感激。