2つのファイルがあり、いくつかの特定の列が同じ場合は、1つの列を除くすべてのフィールドを含む行をエクスポートするようにファイルをマージしたいと思います。これは、特定の列の両方のファイルを減算することです。
たとえば、次の 2 つのファイルがあり、1 列から 3 列まで同じ行を出力しようとしますが、4 列はファイル (ファイル 1 - ファイル 2) の 4 列の 2 つの値を引いたものと同じです。
ファイル1:
10 20 30 50
100 200 300 850
150 250 350 900
.....
ファイル2:
100 200 300 840
15 25 35 55
150 250 350 880
....
出力:
100 200 300 10
150 250 350 20
....
ベストアンサー1
awkを使用してください:
$ awk '{k = $1 FS $2 FS $3} NR==FNR {a[k] = $4; next} k in a {print k, a[k]-$4}' File1 File2
100 200 300 10
150 250 350 20