join -j 1
您的“案例2”是否只使用标准的unix工具.当然,如果文件已排序,您可以删除排序.
如果您包含标题,则可能依赖于数字ID来将连接标题排序到顶部:
join -j 1
同
> file1.txt
id city car type model
1 york subaru impreza king
2 kampala toyota corolla sissy
3 luzern chrysler gravity falcon
> file2.txt
id name rating
3 zanzini PG
2 tara X
>输出:
id city car type model name rating
2 kampala toyota corolla sissy tara X
3 luzern chrysler gravity falcon zanzini PG
PS要保留TAB分隔符,请传递-t选项:
join -t' ' ...
在SO上显示“包含TAB字符”很难.用^ VTAB键入它(例如在bash中)