Comando join do Linux
Nos sistemas operacionais do tipo Unix, o comando join une as linhas de dois arquivos que compartilham um campo de dados comum.
Este documento cobre a versão GNU / Linux de junção .
Sintaxe
participar de [ OPÇÃO ] ... ARQUIVO1 ARQUIVO2
Para cada par de linhas de entrada com campos de junção idênticos, escreva uma linha na saída padrão. O campo de junção padrão é o primeiro, delimitado por espaço em branco . Quando FILE1 ou FILE2 (não ambos) for – , leia a entrada padrão .
Opções
-a FILÊNIO | Além disso, imprima linhas não pares do arquivo FILENUM , onde FILENUM é 1 ou 2 , correspondendo a FILE1 ou FILE2. |
-e VAZIO | Substitua os campos de entrada ausentes por VAZIO. |
-i , –ignore-case | Ignore as diferenças no caso ao comparar campos. |
-j CAMPO | Equivalente a ” -1 CAMPO -2 CAMPO “. |
-o FORMATO | Obedeça ao FORMAT ao construir a linha de saída. |
-t CHAR | Use CHAR como separador de campo de entrada e saída. |
-v FILENUM | Como -a FILENUM , mas suprima linhas de saída unidas. |
-1 CAMPO | Participe neste CAMPO do arquivo 1 . |
-2 CAMPO | Participe neste CAMPO do arquivo 2 . |
–check-order | Verifique se a entrada está classificada corretamente, mesmo que todas as linhas de entrada sejam emparelhadas. |
–nocheck-order | Não verifique se a entrada está classificada corretamente. |
–cabeçalho | Trate a primeira linha de cada arquivo como cabeçalhos de campo, imprima-os sem tentar emparelhá-los. |
–Socorro | Exiba uma mensagem de ajuda e saia. |
–versão | Exibir informações da versão e sair. |
A menos que -t CHAR seja fornecido, os campos são separados por espaços em branco à esquerda; caso contrário, os campos são separados por CHAR . Qualquer CAMPO é um número de campo contado de 1.
Se FORMAT for a palavra – chave auto , a primeira linha de cada arquivo determinará o número de campos de saída para cada linha.
FILE1 e FILE2 devem ser classificados nos campos de junção. O comando de classificação pode fazer isso. Se a entrada não for classificada e algumas linhas não puderem ser unidas, uma mensagem de aviso será exibida.
Exemplos
Se tivermos um arquivo, myfile1.txt , cujo conteúdo seja:
1 Índia 2 EUA 3 Irlanda 4 Reino Unido 5 Canadá
… e outro arquivo, myfile2.txt , cujo conteúdo é:
1 NewDelhi 2 Washington 3 Dublin 4 Londres 5 Toronto
Os campos comuns são aqueles que começam com o mesmo número. Podemos juntar o conteúdo usando o seguinte comando:
associar myfile1.txt myfile2.txt
… que gera o seguinte na saída padrão:
1 Índia NewDelhi 2 EUA Washington 3 Irlanda Dublin 4 UK London 5 Canadá Toronto
Se quiséssemos criar um novo arquivo com o conteúdo associado, poderíamos usar o seguinte comando:
juntar myfile1.txt myfile2.txt> myjoinedfile.txt
… que direciona a saída para um novo arquivo chamado myjoinedfile.txt , contendo a mesma saída do exemplo acima.
Comandos relacionados
comm – Compare dois arquivos classificados linha por linha.
sort – Ordena as linhas em um arquivo de texto.
uniq – identifique e opcionalmente filtre linhas repetidas em um arquivo.