join
[
options
]
file1
file2
Join 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).
-
-e
s
-
Replace any empty output field with the string
s
.
-
-j
n m
-
Join on the
m
th 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 field separator for input and
output.
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 -a 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