【发布时间】:2023-03-27 12:10:02
【问题描述】:
我想比较 2 个文件中的多个列,而不是打印符合我的条件的行。 这方面的一个例子是:
文件1
apple green 4
orange red 5
apple yellow 6
apple yellow 8
grape green 5
文件2
apple yellow 7
grape green 10
输出
apple green 4
orange red 5
apple yellow 8
我想删除file1 中的$1 和$2 对应于file2 中的$1 和$2 以及当file1 中的$3 小于@ 中的$3 的行987654333@。
我现在只能完成工作的第一部分,即删除来自file1 的$1 和$2 对应于$1 和$2 从file2 的行(字段由制表符分隔):
awk -F '\t' 'FNR == NR {a[$1FS$2]=$1; next} !($1FS$2 in a)' file2 file1
你能帮我应用最后一个条件吗?
提前非常感谢!
【问题讨论】:
标签: awk file-comparison