join
aceita apenas 2 arquivos para participar. Para operar em 3 arquivos, você precisa usar 2 join
chamadas:
join -j 1 <(join -j 1 ../Test_Data/usi-1 ../Test_Data/usi-2) ../Test_Data/usi-3 > ../Test_Data/join_output.txt
O comando acima requer bash
, como usa a substituição do processo. Se você usa outro shell, especifique qual.
Atualizar de acordo com o comentário.
Se você conhece apenas um padrão de nome de arquivo em vez de nomes de arquivo exatos, deixe o shell expandir o padrão, capture a lista expandida em uma matriz e use os elementos da matriz como parâmetros:
file=(../Test_Data/usi*)
join -j 1 <(join -j 1 "${file[0]}" "${file[1]}") "${file[2]}"