O'Reilly logo

Mac OS X Tiger in a Nutshell by Jason McIntosh, Chuck Toporek, Chris Stone, Andy Lester

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Name

join

Synopsis

join [options] file1 file2

Joins the common lines of sorted file1 and sorted file2. Reads standard input if file1 is -. The output contains the common field and the remainder of each line from file1 and file2. In the following options, n can be 1 or 2, referring to file1 or file2.

Options

-a[n]

List unpairable lines in file n (or both if n is omitted).

-e s

Replace any empty output field with the string s.

-j n m

Join on the mth field of file n (or both files if n is omitted).

-o n.m

Each output line contains fields specified by file number n and field number m. The common field is suppressed unless requested.

-t c

Use character c as a field separator for input and output.

-v n

Print only the unpairable lines in file n. With both -v 1 and -v 2, all unpairable lines are printed.

-1 m

Join on field m of file1. Fields start with 1.

-2 m

Join on field m of file2. Fields start with 1.

Examples

Assuming the following input files:

$ cat score
olga    81      91
rene    82      92
zack    83      93
$ cat grade
olga    B       A
rene    B       A

List scores followed by grades, including unmatched lines:

$ join -a1 score grade
olga 81 91 B A
rene 82 92 B A
zack 83 93

Pair each score with its grade:

$ join -o 1.1 1.2 2.2 1.3 2.3 score grade
olga 81 B 91 A
rene 82 B 92 A

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required