比较两个文件的第一列匹配文本和第一个文件的第二列 > 比第二个文件的第二列值
Compare two files with first column matching text and 2nd column of first file > than 2nd column value of 2nd file
正在寻找 awk one liner:
我有两个文件,每个文件都有两列
我需要打印两个文件中第一列匹配的记录
并且第二个文件值列大于第一个文件值列。
文件 1
AAAA 322
BBBB 322
DDDD 200
文件 2
AAAA 700
CCCC 400
DDDD 100
正在寻找结果
AAAA 700
感谢任何帮助。到目前为止,我可以匹配第 1 列,但不确定如何计算第二个值列 >
awk 'NR == FNR{a[];next} in a' file1.txt file2.txt
AAAA 700
DDDD 100
已更新
我想我可能是通过颠倒文件顺序并使用:
awk 'FNR==NR{a[]= FS ;next}{ print [=14=], a[]}' file2.txt file1.txt|awk ' > ' |awk '{print " "}'
AAAA 700
awk 'FNR==NR{a[]= FS ;next}{ print [=10=], a[]}' file2.txt file1.txt|awk ' > ' |awk '{print " "}'
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[] = ; next}( in A) && > A[]' file1 file2
AAAA 700
正在寻找 awk one liner:
我有两个文件,每个文件都有两列
我需要打印两个文件中第一列匹配的记录 并且第二个文件值列大于第一个文件值列。
文件 1
AAAA 322
BBBB 322
DDDD 200
文件 2
AAAA 700
CCCC 400
DDDD 100
正在寻找结果
AAAA 700
感谢任何帮助。到目前为止,我可以匹配第 1 列,但不确定如何计算第二个值列 >
awk 'NR == FNR{a[];next} in a' file1.txt file2.txt
AAAA 700
DDDD 100
已更新
我想我可能是通过颠倒文件顺序并使用:
awk 'FNR==NR{a[]= FS ;next}{ print [=14=], a[]}' file2.txt file1.txt|awk ' > ' |awk '{print " "}'
AAAA 700
awk 'FNR==NR{a[]= FS ;next}{ print [=10=], a[]}' file2.txt file1.txt|awk ' > ' |awk '{print " "}'
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[] = ; next}( in A) && > A[]' file1 file2
AAAA 700