Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
JOIN(1) 			  User Commands 			 JOIN(1)

NAME
     join - join lines of two files on a common field

SYNOPSIS
     join [OPTION]... FILE1 FILE2

DESCRIPTION
     For  each	pair  of input lines with identical join fields, write a line to
     standard output.  The default join field is the first, delimited by blanks.

     When FILE1 or FILE2 (not both) is -, read standard input.

     -a FILENUM
	    also print unpairable lines from file FILENUM, where FILENUM is 1 or
	    2, corresponding to FILE1 or FILE2

     -e STRING
	    replace missing (empty) input  fields  with  STRING;  I.e.,  missing
	    fields specified with '-12jo' options

     -i, --ignore-case
	    ignore differences in case when comparing fields

     -j FIELD
	    equivalent to '-1 FIELD -2 FIELD'

     -o FORMAT
	    obey FORMAT while constructing output line

     -t CHAR
	    use CHAR as input and output field separator

     -v FILENUM
	    like -a FILENUM, but suppress joined output lines

     -1 FIELD
	    join on this FIELD of file 1

     -2 FIELD
	    join on this FIELD of file 2

     --check-order
	    check  that  the  input is correctly sorted, even if all input lines
	    are pairable

     --nocheck-order
	    do not check that the input is correctly sorted

     --header
	    treat the first line in each file as field headers, print them with-
	    out trying to pair them

     -z, --zero-terminated
	    line delimiter is NUL, not newline

     --help
	    display this help and exit

     --version
	    output version information and exit

     Unless -t CHAR is given, leading blanks separate fields  and  are	ignored,
     else  fields  are	separated  by CHAR.  Any FIELD is a field number counted
     from 1.  FORMAT is one or more comma  or  blank  separated  specifications,
     each  being 'FILENUM.FIELD' or '0'.  Default FORMAT outputs the join field,
     the remaining fields from FILE1, the remaining fields from FILE2, all sepa-
     rated by CHAR.  If FORMAT is the keyword 'auto', then  the  first	line  of
     each file determines the number of fields output for each line.

     Important:  FILE1	and  FILE2 must be sorted on the join fields.  E.g., use
     "sort -k 1b,1" if 'join' has no options, or use "join -t ''" if 'sort'  has
     no options.  Comparisons honor the rules specified by 'LC_COLLATE'.  If the
     input is not sorted and some lines cannot be joined, a warning message will
     be given.

AUTHOR
     Written by Mike Haertel.

REPORTING BUGS
     Report bugs to: bug-coreutils@gnu.org
     GNU coreutils home page: <https://www.gnu.org/software/coreutils/>
     General help using GNU software: <https://www.gnu.org/gethelp/>
     Report any translation bugs to <https://translationproject.org/team/>

COPYRIGHT
     Copyright	(C) 2025 Free Software Foundation, Inc.  License GPLv3+: GNU GPL
     version 3 or later <https://gnu.org/licenses/gpl.html>.
     This is free software: you are free to change and redistribute  it.   There
     is NO WARRANTY, to the extent permitted by law.

SEE ALSO
     comm(1), uniq(1)

     Full documentation <https://www.gnu.org/software/coreutils/join>
     or available locally via: info '(coreutils) join invocation'

GNU coreutils 9.9		  November 2025 			 JOIN(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gjoin&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help