Vamos supor que você tenha dois arquivos como os listados abaixo
$ cat nomes.txt
nome:idade:endereco
renato:41:avenida tal
ricardo:40:rua tal
rodrigo:38:alameda tal
walter:35:chacara tal
$ cat cursos.txt
curso:nome
teste:pedro
oab:renato
lpi:ricardo
fisio:rodrigo
Agora precisamos juntar esses dois arquivos linha a linha de forma que cada pessoa esteja associada com o seu curso. O comando join faz esse trabalho.
$ join nomes.txt cursos.txt -t: -1 1 -2 2
nome:idade:endereco:curso
renato:41:avenida tal:oab
ricardo:40:rua tal:lpi
rodrigo:38:alameda tal:fisio
Neste comando:
- "-t:" diz que o separador de coluna é o caracter ":".
- "-1 1" diz que no primeiro arquivo (-1) deverá ser usado o primeiro campo (1) como referência.
- "-2 2" diz que no segundo arquivo (-2) o campo referência é o segundo (2).
Reparem que só são mostrados os registros que existem nos dois arquivos. A única exigência é que os arquivos estejam indexados pelo campo referência, algo que pode ser feito com o comando sort.