$ cat file1 Jialiu age 15 Zhangsan age 14 Lisi age 15 Wangwu age 16 $ cat file2 Zhangsan score 80 Lisi score 90 Wangwu score 85 Jialiu score 88 $ join file1 file2 join: file1:3: is not sorted: Lisi age 15 join: file2:2: is not sorted: Lisi score 90 Zhangsan age 14 score 80 Lisi age 15 score 90 Wangwu age 16 score 85 $ join file2 file1 join: file2:2: is not sorted: Lisi score 90 join: file1:3: is not sorted: Lisi age 15 Zhangsan score 80 age 14 Lisi score 90 age 15 Wangwu score 85 age 16
-a FILENUM also print unpairable lines from file FILENUM, where FILENUM is 1 or 2, corresponding to FILE1 or FILE2
-e EMPTY replace missing input fields with EMPTY
-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 without trying to pair them
-z, –zero-terminated line delimiter is NUL, not newline
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 separated 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. Note, 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.
The optional keyword determines the type of message:
1 2 3 4 5 6 7 8 9 10
(none) =Important information STATUS=Incidental information WARNING=CMakeWarning, continue processing AUTHOR_WARNING=CMakeWarning (dev), continue processing SEND_ERROR=CMakeError, continue processing, but skip generation FATAL_ERROR=CMakeError, stop processing and generation DEPRECATION=CMakeDeprecationError or Warningif variable CMAKE_ERROR_DEPRECATED or CMAKE_WARN_DEPRECATED is enabled, respectively, else no message.
The CMake command-line tool displays STATUS messages on stdout and all other message types on stderr. The CMake GUI displays all messages in its log area. The interactive dialogs (ccmake and CMakeSetup) show STATUS messages one at a time on a status line and other messages in interactive pop-up boxes.
CMake Warning and Error message text displays using a simple markup language. Non-indented text is formatted in line-wrapped paragraphs delimited by newlines. Indented text is considered pre-formatted.