以下に示すように、変更がほとんどなく、他の列もほとんどない同様の最初、2番目、3番目の列を持つ2つのファイルがあります。
ファイル1:
AT1 AT22 24 1 ATAGATA ATTATAT
AT2 AT24 22 0 ATAGATA ATTATAT
AT3 AT23 263 3 ATAGATA ATTATAT
AT4 AT28 252 6 ATAGATA ATTATAT
また、ファイル2から:
AT1 AT22 22 1 ATAGATA ATTATAT
AT3 AT23 265 1 ATAGATA ATTATAT
AT4 AT28 253 1 ATAGATA ATTATAT
出力は、3番目の列に+または-2緩和を適用することによって、これらのファイルを統合して一意にする必要があります。最初の3つの列がこれらの条件と一致する場合は、両方のファイルに4番目の列を追加する必要があり、他のファイルは通常どおりに印刷する必要があります。まるで
AT1 AT22 24 2 ATAGATA ATTATAT
AT2 AT24 22 0 ATAGATA ATTATAT
AT3 AT23 263 4 ATAGATA ATTATAT
AT4 AT28 252 7 ATAGATA ATTATAT
ベストアンサー1
awk '
NR==FNR {
a[$1,$2] = $3
val[$1,$2] = $4
next
}
($1,$2) in a {
for (n=$3-2; n<=$3+2; n++)
if (a[$1,$2] == n) {
$4+=val[$1,$2]
break
}
}
{print}
' file2 file1
AT1 AT22 24 2 ATAGATA ATTATAT
AT2 AT24 22 0 ATAGATA ATTATAT
AT3 AT23 263 4 ATAGATA ATTATAT
AT4 AT28 252 7 ATAGATA ATTATAT