繁体   English   中英

如何聚合文件或合并

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM