- Blog/
Performing JOINs on text files
Linux comes equipped with a handy utility aptly called join
which performs join operations on text files.
Performing an inner join is as simple as running join file1.txt file2.txt
Producing an outer join can be a bit more verbose. The following command is an example of an outer join.
join -t $'\t' -o 0,1.2,2.2 -a 1 -a 2 file1.txt file2.txt
Let’s break that down a bit.
-t $'\t'
the-t
indicates to join what character to use as the field-separator. In this example, the leading$
allows us to pass the tab character, instead of just a backslash-escapedt
.-o 0,1.2,2.2
specifies the fields to output. In this example, we want the joined field 0, then the second field fromm file 1, then the second field from file 2.-a 1 -a 2
specifies that we want to join all the fields from file 1 and all the fields from file 2.