我有两个文件。
文件1具有以下格式:
f 55 SE 0 0 0
re 13 SE 0 0 0
文件2具有以下格式:
fe 10 f
fe 02 h
fe 02 re
我需要首先比较文件,以查看文件2的第三列值是否出现在文件1的第一列中。如果存在,我需要整行,其中包含两个文件中都存在的值。要打印到输出文件的文件1。如示例所示,文件2的第三列中的某些值在文件1的第一列中不存在。我尝试使用awk,但老实说我是编程的新手,不确定要怎么做。
我的预期输出如下:
f 55 SE 0 0 0
re 02 SE 0 0 0
它的格式应与文件1相同,它只是过滤掉第一列值与文件2的第三列值不同的行。
答案 0 :(得分:1)
编辑: :将此解决方案作为OP添加,现在已添加了预期的输出。
awk 'FNR==NR{a[$3]; next} $1 in a' File2 File1
由于您尚未发布示例输出,因此无法对其进行测试,请您尝试以下操作。
awk 'FNR==NR{a[$3]=$1 OFS $2;next} ($1 in a){print $0,a[$1]}' Input_file2 Input_file1