我有两个文件。
文件1:
Dave 734.838.9800
Bob 313.123.4567
Carol 248.344.5576
Mary 313.449.1390
Ted 248.496.2204
Alice 616.556.4458
文件2:
Bob Tuesday
Carol Monday
Ted Sunday
Alice Wednesday
Dave Thursday
Mary Saturday
我想将这两个合并到 file3 中。
file3 应该是这样的:
Name On-Call Phone
Carol MONDAY 248.344.5576
Bob TUESDAY 313.123.4567
Alice WEDNESDAY 616.556.4458
Dave THURSDAY 734.838.9800
Nobody FRIDAY 634.296.3356
Mary SATURDAY 313.449.1390
Ted SUNDAY 248.496.2204
那么我怎样才能在 shell 脚本中做到这一点呢?
答案1
该join
实用程序正是针对此类问题:它根据两个文件的一个字段(默认情况下是第一个字段)连接两个文件。文件应先排序;所以
join <(sort file2) <(sort file1) | column -t
产生
Alice Wednesday 616.556.4458
Bob Tuesday 313.123.4567
Carol Monday 248.344.5576
Dave Thursday 734.838.9800
Mary Saturday 313.449.1390
Ted Sunday 248.496.2204
这是按名称而不是按工作日排序的;如果需要的话,你需要一些后处理来按工作日排序......