Estações de trabalho on-line OnWorks Linux e Windows

Logotipo

Hospedagem online grátis para estações de trabalho

<Anterior | Conteúdo | Próxima>

juntar

Em algumas formas, juntar é como colar no sentido de que adiciona colunas a um arquivo, mas usa uma maneira única de fazer isso. UMA juntar é uma operação geralmente associada a bancos de dados relacionais onde dados de múltiplos tabelas com um campo de chave compartilhada é combinado para formar o resultado desejado.


O juntar programa executa a mesma operação. Ele reúne dados de vários arquivos com base em um campo de chave compartilhado.

Para ver como uma operação de junção é usada em um banco de dados relacional, vamos imaginar um banco de dados muito pequeno que consiste em duas tabelas, cada uma contendo um único registro. A primeira tabela, chamada CUSTOMERS, tem três campos: um número de cliente (CUSTNUM), o nome do cliente (FNAME) e o sobrenome do cliente (LNAME):


PERSONALIZADO

NOME

LNAME

========

=====

======

4681934

banheiro

Smith

A segunda tabela é chamada de PEDIDOS e contém quatro campos: um número de pedido (PEDIDO), o número do cliente (CUSTNUM), a quantidade (QUAN) e o item pedido (ITEM).


PEDIDO

PERSONALIZADO

QUAN

ITEM

========

=======

====

====

3014953305

4681934

1

Widget Azul

Observe que ambas as tabelas compartilham o campo CUSTNUM. Isso é importante, pois permite uma relação entre as tabelas.

A execução de uma operação de junção nos permitiria combinar os campos nas duas tabelas para obter um resultado útil, como preparar uma fatura. Usando os valores correspondentes nos campos CUSTNUM de ambas as tabelas, uma operação de junção pode produzir o seguinte:


NOME

LNAME

QUAN

ITEM

=====

=====

====

====

banheiro

Smith

1

Widget Azul

Para demonstrar o juntar programa, vamos precisar fazer alguns arquivos com uma chave compartilhada. Para fazer isso, vamos usar nosso distribuições por data.txt Arquivo. A partir desse arquivo, construiremos dois arquivos adicionais, um contendo as datas de lançamento (que será nossa chave compartilhada para esta demonstração) e os nomes de lançamento:



[me @ linuxbox ~] $ cut -f 1,1 distros-by-date.txt> distros-names.txt [me @ linuxbox ~] $ cole distros-datas.txt distros-names.txt> distros- key-names.txt

[me @ linuxbox ~] $ head distros-key-names.txt

11/25/2008 Fedora 10/30/2008 Ubuntu 06/19/2008 SUSE

05/13/2008 Fedora 04/24/2008 Ubuntu 11/08/2007 Fedora 10/18/2007 Ubuntu

[me @ linuxbox ~] $ cut -f 1,1 distros-by-date.txt> distros-names.txt [me @ linuxbox ~] $ cole distros-datas.txt distros-names.txt> distros- key-names.txt

[me @ linuxbox ~] $ head distros-key-names.txt

11/25/2008 Fedora 10/30/2008 Ubuntu 06/19/2008 SUSE

05/13/2008 Fedora 04/24/2008 Ubuntu 11/08/2007 Fedora 10/18/2007 Ubuntu


10/04/2007 SUSE

05/31/2007 Fedora 04/19/2007 Ubuntu

10/04/2007 SUSE

05/31/2007 Fedora 04/19/2007 Ubuntu


e o segundo arquivo, que contém as datas de lançamento e os números da versão:


imagem

[me @ linuxbox ~] $ cut -f 2,2 distros-by-date.txt> distros-vernums.txt [me @ linuxbox ~] $ cole distros-datas.txt distros-vernums.txt> distro s-key-vernums.txt


[me @ linuxbox

~] $ cabeça distros-key-vernums.txt

11/25/2008

10

10/30/2008

8.10

06/19/2008

11.0

05/13/2008

9

04/24/2008

8.04

11/08/2007

8

10/18/2007

7.10

10/04/2007

10.3

05/31/2007

7

04/19/2007

7.04


Agora temos dois arquivos com uma chave compartilhada (o campo “data de lançamento”). É importante ressaltar que os arquivos devem ser classificados no campo chave para juntar para funcionar corretamente.


[me @ linuxbox ~] $ join distros-key-names.txt distros-key-vernums.txt | cabeça

11/25/2008 Fedora 10

10/30/2008 Ubuntu 8.10

06/19/2008 SUSE 11.0

05/13/2008 Fedora 9

04/24/2008 Ubuntu 8.04

11/08/2007 Fedora 8

10/18/2007 Ubuntu 7.10

10/04/2007 SUSE 10.3

05/31/2007 Fedora 7

04/19/2007 Ubuntu 7.04

[me @ linuxbox ~] $ join distros-key-names.txt distros-key-vernums.txt | cabeça

11/25/2008 Fedora 10

10/30/2008 Ubuntu 8.10

06/19/2008 SUSE 11.0

05/13/2008 Fedora 9

04/24/2008 Ubuntu 8.04

11/08/2007 Fedora 8

10/18/2007 Ubuntu 7.10

10/04/2007 SUSE 10.3

05/31/2007 Fedora 7

04/19/2007 Ubuntu 7.04


Observe também que, por padrão, juntar usa espaços em branco como delimitador do campo de entrada e um único espaço como delimitador do campo de saída. Este comportamento pode ser modificado especificando opções. Veja o juntar página do manual para detalhes.


Top OS Cloud Computing na OnWorks: