我的数据如下所示:
G1 G2 G3 G4
Pf1 NO B1 NO D1
Pf2 NO NO C1 D1
Pf3 A1 B1 NO D1
Pf4 A1 NO C1 D2
Pf5 A3 B2 C2 D3
Pf6 NO B3 NO D3
我的目的是检查每一列是否显示了两次元素(不同于“否”情况)(例如第 2 列中的 A1)并且仅显示两次(如果显示三次或更多我不想要它在输出中),如果是,则写下第一列的对应元素。因此,所需的输出如下所示:
Pf3 Pf4 A1
Pf1 Pf3 B1
Pf2 Pf4 C1
Pf5 Pf6 D3
我正在尝试编写一个 perl 脚本,但我需要一些帮助来专注于不同的步骤。这是我到目前为止所做的:
open (HAN, "< $file_in") || die "Impossible open the in_file";
@r = <HAN>;
close (HAN);
for ($i=0; $i<=$#r; $i++){
chomp ($r[$i]);
($Ids, @v) = split (/\t/, $r[$i]);
}
}
但我不能往任何方向前进!(我的perl知识需要你推!)
我心中的热点是:
如何比较来自同一列(或无论如何在同一文件中)的元素?
如何将第一列的元素与其他列的元素(可能是键)相关联?
任何帮助都是绝对必要的,欢迎!