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.
-j
n 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.
-t
cUse 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 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