【发布时间】:2021-10-03 09:34:39
【问题描述】:
我有两个文件,用制表符分隔,我想逐行比较 file1 的第 1 列的值与 file2 的第 1 列的值,依此类推,直到 n 列。
比较是为了计算差异。
列中的值可以是 0、1 或 2,例如:
File1:
col1 col2 col3 col4
1 1 1 2
1 1 1 2
2 1 2 2
2 1 2 2
File2:
col1 col2 col3 col4
1 1 1 1
1 1 0 1
0 1 0 1
1 0 1 0
Results
2 1 3 4
因此,file1 和 file2 的 col1 有 2 个差异,col2 off file1 和 file2 有 1 个差异,依此类推... 我在 AWK 中看到了许多类似的问题,但其中大多数是比较列并在匹配或不匹配的情况下从任一文件追加列,但不计算差异。
我相信两列不匹配的比较会从这样开始,但从那里我完全迷失了......
awk 'NR==FNR { a[$1]!=$1; next}
谢谢
【问题讨论】:
-
col1 of file1 and file2 with 2 differences: 你确定吗?两个文件中相同,即1 1 2 2值? -
@anubhava 你是对的。我修复了这个例子。
标签: awk comparison multiple-columns