corresponder valores na primeira coluna de dois arquivos e juntar as linhas correspondentes em um novo arquivo
Eu preciso encontrar correspondências com a seqüência de caracteres na coluna 1 ($ 1) no arquivo1.txt com a seqüência de caracteres na coluna 1 ($ 1) no arquivo2.txt. Então eu quero juntar as linhas onde houve uma correspondência em um novo arquivo.
cat file1.txt
1050008 5.156725968 8.404038296 124.9198605 3.23E-21 2.33E-17 38.57865782
3310747 5.631470026 8.581936875 124.6039122 3.34E-21 2.33E-17 38.55204806
5910451 4.900364671 8.455329195 124.5720603 3.35E-21 2.33E-17 38.54935989
730156 5.565210738 8.48792701 122.2168789 4.28E-21 2.33E-17 38.34773989
cat file2.txt
4230037 ILMN Controls ILMN_Controls ERCC-00071 ILMN_333646 ERCC-00071 ERCC-00071
1050008 ILMN Controls ILMN_Controls ERCC-00009 ILMN_333584 ERCC-00009 ERCC-00009
5260356 ILMN Controls ILMN_Controls ERCC-00053 ILMN_333628 ERCC-00053 ERCC-00053
3310747 ILMN Controls ILMN_Controls ERCC-00144 ILMN_333719 ERCC-00144 ERCC-00144
5910451 ILMN Controls ILMN_Controls ERCC-00003 ILMN_333578 ERCC-00003 ERCC-00003
1710435 ILMN Controls ILMN_Controls ERCC-00138 ILMN_333713 ERCC-00138 ERCC-00138
1400612 ILMN Controls ILMN_Controls ERCC-00084 ILMN_333659 ERCC-00084 ERCC-00084
730156 ILMN Controls ILMN_Controls ERCC-00017 ILMN_333592 ERCC-00017 ERCC-00017
Eu gostaria que o arquivo de saída fosse assim:
out.txt
1050008 5.156725968 8.404038296 124.9198605 3.23E-21 2.33E-17 38.57865782 1050008 ILMN Controls ILMN_Controls ERCC-00009 ILMN_333584 ERCC-00009 ERCC-00009
3310747 5.631470026 8.581936875 124.6039122 3.34E-21 2.33E-17 38.55204806 3310747 ILMN Controls ILMN_Controls ERCC-00144 ILMN_333719 ERCC-00144 ERCC-00144
5910451 4.900364671 8.455329195 124.5720603 3.35E-21 2.33E-17 38.54935989 5910451 ILMN Controls ILMN_Controls ERCC-00003 ILMN_333578 ERCC-00003 ERCC-00003
730156 5.565210738 8.48792701 122.2168789 4.28E-21 2.33E-17 38.34773989 730156 ILMN Controls ILMN_Controls ERCC-00017 ILMN_333592 ERCC-00017 ERCC-00017
Os arquivos são delimitados por tabulações e possuem valores ausentes em algumas colunas.
Existem 31 colunas nas linhas file2.txt e> 47000 e estou tentando fazer isso no bash (OSX)
Se você tiver uma solução, eu agradeceria muito se você pudesse explicar brevemente as etapas, já que sou muito novo nisso.