2017-07-10 76 views
0

匹配的行结果,我有两个文件,比较两个文件,并从第二个文件

$cat file_1.txt 
95335df46cfdb345c0214296e0043c00,NA 
a0af947a85e6895dab70eaec136cfed2,NA 

$cat file_2.txt 
77f673137c17b4b0405d13060e9715a3,5,X,Y 
874d51610c15975c82c081aba0b096c3,5,A,M 
95335df46cfdb345c0214296e0043c00,5,M,N 

我是从“file_1.txt”反对first场比较first方面对"file_2.txt"。如果有'hash'任何匹配,请从"file_2.txt"获取完整的匹配行。

匹配行:(从file_2.txt

95335df46cfdb345c0214296e0043c00,5,M,N 

我使用awk,但没有得到任何结果尝试。

$ awk 'NR==FNR{a[$1];next} ($1) in a' file_1.txt file_2.txt 

我在做任何的错误吗?有什么建议吗?

回答

2
$ awk -F, 'NR==FNR{a[$1];next} $1 in a' file_1.txt file_2.txt 
95335df46cfdb345c0214296e0043c00,5,M,N 

你错过了指定,是分隔符使用

+0

啊!捕捉。对不起,我错过了这里的分隔符。万分感谢。 – Arun

1

使用join命令:

join -t',' -o2.1,2.2,2.3,2.4 <(sort file_1.txt) <(sort file_2.txt) 

输出:

95335df46cfdb345c0214296e0043c00,5,M,N 

  • -t',' - 输入/输出字段分隔符