Reputation: 57
I want to merge two files in Unix. How can I do this?
eg file1 contains:
host1:90:/users:user1
host2:90:/users:user1
host3:90:/users:user1
host4:90:/users:user1
host5:90:/users:user1
host6:90:/users:user1
host7:90:/users:user1
file2 contains:
host1:owner_name
host2:owner_name
host3:owner_name
host4:owner_name
host5:owner_name
host6:owner_name
host7:owner_name
output result:
host1:90:/users:user1:owner_name
host2:90:/users:user1:owner_name
host3:90:/users:user1:owner_name
host4:90:/users:user1:owner_name
host5:90:/users:user1:owner_name
host6:90:/users:user1:owner_name
host7:90:/users:user1:owner_name
I have used this command paste -d ':' file1 file2 >merged_file
, but this is what I am getting:
host1:90:/users:user1:host1:owner_name
host2:90:/users:user1:host2:owner_name
host3:90:/users:user1:host3:owner_name
host4:90:/users:user1:host4:owner_name
host5:90:/users:user1:host5:owner_name
host6:90:/users:user1:host6:owner_name
host7:90:/users:user1:host7:owner_name
Upvotes: 1
Views: 1064
Reputation: 182639
Use join
instead:
% join -t':' file1 file2
host1:90:/users:user1:owner_name
host2:90:/users:user1:owner_name
host3:90:/users:user1:owner_name
host4:90:/users:user1:owner_name
host5:90:/users:user1:owner_name
host6:90:/users:user1:owner_name
host7:90:/users:user1:owner_name
Upvotes: 2