[英]how to Aggregate files or merge
任何人都可以通过公共数据(列)帮助合并不同的文件吗? 请=(
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或....
如果从排序文件开始,则该工具将join
。 在您的情况下,您可以即时排序。
join <(sort file1.txt) <(sort file2.txt)
标题也会加入,但不会显示在顶部。 管道sort -r
如果您不关心维护行的顺序,请使用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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.