join [options] file1 file2Join the common lines of sorted file1 and sorted file2. Read standard input if file1 is -. The output contains the common field and the remainder of each line from file1 and file2. In the options below, n can be 1 or 2, referring to file1 or file2.
-a[n]List unpairable lines in file n (or both if n is omitted). Solaris does not allow omission of n.
-e sReplace any empty output field with the string s.
-jn mJoin on the mth field of file n (or both files if n is omitted).
-o n.mEach output line contains fields specified by file number n and field number m. The common field is suppressed unless requested.
-tcUse character c as field separator for input and output.
-v nPrint only the unpairable lines in file n. With both -v 1 and -v 2, all unpairable lines are printed. Solaris only.
-1 mJoin on field m of file 1. Fields start with 1. Solaris only.
-2 mJoin on field m of file 2. Fields start with 1. Solaris only.
Assuming the following input files:
$cat scoreolga 81 91 rene 82 92 zack 83 93 $cat gradeolga B A rene B A
List scores followed by grades, including unmatched lines:
$join -a1 score gradeolga 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 gradeolga 81 B 91 A rene 82 B 92 A