Não existe essa opção para -o
(de man join
):
-o FORMAT
obey FORMAT while constructing output line
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.
Use cut
para selecionar as colunas apropriadas primeiro e depois participar:
join -t ' ' mat1 <(cut -f1,4 mat2)
(que é um caractere de tabulação entre as aspas: Ctrl + V , TAB ),
ou para todas as colunas até 19999 de mat1
você pode fazer:
cut -f-19999 mat1 | join -t ' ' - <(cut -f1,4 mat2)