2016-07-05 60 views
1

我有一个类似如下合并两个文件共柱

第一个文件的两个文件:

FileA 
FileB 
FileC 

第二个文件:

FileA 2 
FileC 2 

我想要的第三文件看起来如下所示:

FileA FileA 2 
FileB 
FileC FileC 2 

基本上我正在做一个选择性粘贴。为了达到预期的结果,我愿意接受任何awk或sed解决方案。

+0

的可能的复制[如何使用AWK合并两个文件?(http://stackoverflow.com/questions/5467690/how-to-merge-two-files-awk) – SriniV

回答

1

使用awk的,你可以这样做:

awk 'FNR == NR{a[$1]=$0; next} {print $0, a[$1]}' file2 file1 

FileA FileA 2 
FileB 
FileC FileC 2 
2

它是加入工作:

join -a1 -o 1.1 2.1 2.2 file1 file2 
+0

这是更好的解决方案。使用'awk'就像重新发明轮子。或者使用通用计算机(awk)作为嵌入式控制器(连接)。 – alvits

+0

@alvits:也许对于这种情况,但awk解决方案也能够处理未排序的文件,并且不需要掩码(如果第二个文件具有更多字段,这可能很有用)。 –