A と B の 2 つのファイルがあります。ファイル B にない個人、ファイル A の一意の行のみを出力する必要があります。
ファイル A は次のようになります。
SNP CHR GeneticDistance BP P
rs1043096 1 0.000000 111682307 1.6478397881920986E-06
rs6661407 1 0.000000 230654589 6.5655676421792970E-06
rs1822312 1 0.000000 146687250 6.9190273469706007E-06
rs7533254 1 0.000000 34181830 1.8066585187932294E-05
rs1414355 1 0.000000 89828716 2.0823984140492505E-05
rs237425 1 0.000000 94012287 4.3816651855534701E-05
ファイル B は次のようになります。
rs1043096
rs1822312
出力は次のようになります。
SNP CHR GeneticDistance BP P
rs6661407 1 0.000000 230654589 6.5655676421792970E-06
rs7533254 1 0.000000 34181830 1.8066585187932294E-05
rs1414355 1 0.000000 89828716 2.0823984140492505E-05
rs237425 1 0.000000 94012287 4.3816651855534701E-05
どこから始めたらいいのかもわからないし、どの言語を使えばいいのかもわからない!おそらく正規表現で != を使用できないか、ファイル A に固有の行だけでなく、行ごとに一致しないファイル内の他のすべてを取得します
このような変更はできますか?ファイル A ファイル B を並べ替える | uniq -u > ファイル C
それともこれ?とにかく、ファイル A と B の行が同一に見えないため、注意が必要です。
open(FILE1, "< fileA.txt");
open(FILE2, "< fileB.txt");
@file1 = <FILE1>;
@file2 = <FILE2>;
foreach $line (@file1, @file2)
{
chomp($line);
$TEXT{$line}++;
}
foreach $line (sort keys %TEXT)
{
if ($TEXT{$line} == 1)
{
print $line . "\n";
}
}
ありがとう!