有谁能帮助按公共数据(列)合并不同的文件吗?求你了=(

file1.txt

ID   Kg   Year
3454  1000  2010
3454  1200  2011
3323  1150  2009
2332  1000  2011
3454  1156  201

file2.txt

ID    Place
3454  A1
3323  A2
2332  A6
5555  A9

file 1+2

ID     Kg   Year Place
3454  1000  2010 A1
3454  1200  2011 A1
3323  1150  2009 A2
2332  1000  2011 A6
3454  1156  2013 A1

所以第二个文件应该连接到第一个。从文件2中可以看到id 5555,只是没有使用。
如何在Linux或….

最佳答案

如果您不关心维护行的顺序,请使用karakfa的join命令。
要保持线的原始顺序,请使用awk

awk '
    NR==FNR {place[$1]=$2; next}
    $1 in place {print $0, place[$1]}
' file2.txt file1.txt | column -t

ID    Kg    Year  Place
3454  1000  2010  A1
3454  1200  2011  A1
3323  1150  2009  A2
2332  1000  2011  A6
3454  1156  201   A1

08-24 16:09