我有两个文件,
$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
的{{1}}字段。如果"file_2.txt"
匹配,请从'hash'
获取完整的匹配行。
匹配行:(来自"file_2.txt"
)
file_2.txt
我尝试使用95335df46cfdb345c0214296e0043c00,5,M,N
,但没有得到任何结果。
awk
我在这里犯了什么错吗?有什么建议吗?
答案 0 :(得分:2)
$ awk -F, 'NR==FNR{a[$1];next} $1 in a' file_1.txt file_2.txt
95335df46cfdb345c0214296e0043c00,5,M,N
您错过了指定,
使用分隔符
答案 1 :(得分: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','
- 输入/输出字段分隔符