Sunday, August 24, 2008

HowTo: Join Two Text Files with Common Columnar Field via Terminal

From my recent post, we have covered to merge data contents two text files without a common columnar field. We have also covered joining two text files into one text file separated by a delimiter character. Now, from this post, we are going to go thru merging two text files with a common columnar field. Read on.

HowTo: Join Two Text Files with Common Columnar Field via Terminal
Say we have two text files, namely test1.txt and test2.txt, with data content as follows

# cat test1.txt
first Fedora
second Redhat
third CentOS


# cat test2.txt
first Core 9
second Enterprise Version
third Free OS


Now, the simplest approach to merge data contents of text-based file is by using linux join command like so

# join test1.txt test2.txt
result:
first Fedora Core 9
second Redhat Enterprise Version
third CentOS Free OS


As you noticed, the two text files are basically merged using the common columnar fields namely first, second and third words.

To make it a little bit complex, here we would be joining the first field of the first text file with the second field of the second text file, that would simply be

# join -o 1.1 -o 2.2 test1.txt test2.txt
result:
Fedora Core
Redhat Enterprise
CentOS Free


The above join command matched the first field of first text file with the second field of the second text file.

Here's another one matching the second columnar data field of the first text file with the third columnar field of the second text file.

# join -o 1.2 -o 2.3 test1.txt test2.txt
result:
Fedora 9
Redhat Version
CentOS OS


Basically, using this approach, text files with and without common field can be joined and merged together with or without consideration to specific field columns,and saved to as another set of data text file. This could also be useful to UNIX text files mostly used by banks and to text files that needs to be merged and joined for a common data use.

Cool. Today is Friday, have a nice weekend!

If you have just subscribed recently and you are new around here, here are my old linux quick tips.
50 Quick Linux Terminal Command Tips Part 1
50 Quick Linux Terminal Command Tips Part 2
50 Quick Linux Terminal Command Tips Part 3
50 Quick Linux Terminal Command Tips Part 4

And if you are more on linux gaming, check out these 113 amazing fedora games. Thanks!

0 comments:

Sign up for PayPal and start accepting credit card payments instantly.
ILoveTux - howtos and news | About | Contact | TOS | Policy