【发布时间】:2016-10-12 22:24:11
【问题描述】:
我试图了解来自不同文件的两个字段的 awk 比较。 (所有文件都用制表符分隔)
第一个文件:
1 11796321
1 169549811
1 173917078
2 48962782
4 121696962
4 121697011
第二个文件:
a 0 1 2 0 b 1 11796321 a
b 0 1 0 2 c 1 11800000 bd
c a d 0 0 2 4 121696962 0
输出:
b 0 1 0 2 c 1 11800000 bd
所以我想将第一个文件中的 $1 和第二列与第二个文件中的第 7 列和第 8 列进行比较并打印不匹配。
我试过了:
awk -v OFS="\t" -F '\t' 'FNR==NR{a[$1,$2]; next} ($7,$8) in a {next} {print $0}' file1 file2
您能否帮助了解错误在哪里以及如何比较这些文件? 谢谢你。
【问题讨论】:
-
您发布的脚本没有任何问题,它会按照您所说的在任何 POSIX awk 中运行。它在哪些方面不适合您?