Awk 比较两个文件,第一列匹配文本,第二列匹配第一个文件>;大于第二个文件的第二列值

Awk 比较两个文件,第一列匹配文本,第二列匹配第一个文件>;大于第二个文件的第二列值,awk,compare,multiple-columns,Awk,Compare,Multiple Columns,正在寻找awk单衬套: 我有两个文件,每个文件有两列 我需要打印两个文件中第一列匹配的记录 其中,第二个文件值列大于第一个文件值列 文件1 文件2 寻找结果 AAAA 700 谢谢你的帮助。到目前为止,我可以匹配列1,但不确定当第二个值列> awk 'NR == FNR{a[$1];next}$1 in a' file1.txt file2.txt AAAA 700 DDDD 100 已更新 我想我可能是通过颠倒文件顺序并使用: awk 'FNR==NR{a[$1]=$2 FS $3;nex

正在寻找awk单衬套:

我有两个文件,每个文件有两列

我需要打印两个文件中第一列匹配的记录 其中,第二个文件值列大于第一个文件值列

文件1

文件2

寻找结果

AAAA 700
谢谢你的帮助。到目前为止,我可以匹配列1,但不确定当第二个值列>

awk 'NR == FNR{a[$1];next}$1 in a' file1.txt file2.txt
AAAA 700
DDDD 100
已更新

我想我可能是通过颠倒文件顺序并使用:

awk 'FNR==NR{a[$1]=$2 FS $3;next}{ print $0, a[$1]}' file2.txt file1.txt|awk '$3 > $2' |awk '{print $1" "$3}'
AAAA 700
这实现了输入后的输出

[akshay@localhost tmp]$ cat file1
AAAA 322
BBBB 322
DDDD 200

[akshay@localhost tmp]$ cat file2
AAAA 700
CCCC 400
DDDD 100
[akshay@localhost tmp]$ awk 'FNR==NR{A[$1] = $2; next}($1 in A) && $2 > A[$1]' file1 file2
AAAA 700
输出

[akshay@localhost tmp]$ cat file1
AAAA 322
BBBB 322
DDDD 200

[akshay@localhost tmp]$ cat file2
AAAA 700
CCCC 400
DDDD 100
[akshay@localhost tmp]$ awk 'FNR==NR{A[$1] = $2; next}($1 in A) && $2 > A[$1]' file1 file2
AAAA 700
[akshay@localhost tmp]$ awk 'FNR==NR{A[$1] = $2; next}($1 in A) && $2 > A[$1]' file1 file2
AAAA 700