Este é o comando joinposix que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS
PROGRAMA:
NOME
join - operador de banco de dados relacional
SINOPSE
juntar [−a número do arquivo| −v número do arquivo] [-E corda] [−o Lista] [-t carbonizar]
[-1 campo] [-2 campo] file1 file2
DESCRIÇÃO
A juntar utilitário deve realizar uma junção de igualdade nos arquivos file1 e file2. O juntou
os arquivos devem ser gravados na saída padrão.
O campo de junção é um campo em cada arquivo no qual os arquivos são comparados. o juntar utilidade
deve escrever uma linha na saída para cada par de linhas em file1 e file2 que têm
campos de junção idênticos. A linha de saída por padrão deve consistir no campo de junção, então
os campos restantes de file1, então os campos restantes de file2. Este formato pode ser
alterado usando o −o opção (veja abaixo). o −a opção pode ser usada para adicionar incomparáveis
linhas para a saída. o −v a opção pode ser usada para produzir apenas linhas não correspondidas.
Os arquivos file1 e file2 deve ser ordenado na sequência de agrupamento de tipo -b na
campos nos quais eles devem ser unidos, por padrão o primeiro em cada linha. Todos selecionados
a saída deve ser escrita na mesma seqüência de agrupamento.
Os separadores de campo de entrada padrão devem ser personagens. Neste caso, múltiplos
os separadores devem contar como um separador de campo e os separadores iniciais devem ser ignorados.
O separador de campo de saída padrão deve ser um .
O separador de campo e a sequência de intercalação podem ser alterados usando o -t opção (ver
abaixo).
Se a mesma chave aparecer mais de uma vez em qualquer arquivo, todas as combinações do conjunto de
campos restantes em file1 e o conjunto de campos restantes em file2 são produzidos na ordem
das linhas encontradas.
Se os arquivos de entrada não estiverem na sequência de intercalação apropriada, os resultados serão
não especificado.
OPÇÕES
A juntar utilitário deve estar em conformidade com o volume de Definições de Base de POSIX.1‐2008, Seção
12.2, Utilidade Sintaxe orientações.
As seguintes opções devem ser suportadas:
−a número do arquivo
Produza uma linha para cada linha não emparelhável no arquivo número do arquivo, Onde número do arquivo
é 1 ou 2, além da saída padrão. Se ambos −a1 e −a2 são especificados,
todas as linhas não emparelhadas devem ser geradas.
-E corda Substitua os campos de saída vazios na lista selecionada por −o com a corda corda.
−o Lista Construir a linha de saída para incluir os campos especificados em Lista, cada elemento
dos quais deve ter uma das seguintes duas formas:
1. número_arquivo.campo, Onde número do arquivo é um número de arquivo e campo é um decimal
número de campo inteiro
2. 0 (zero), representando o campo de junção
Os elementos de Lista deve ser qualquer um -separado ou -separado, como
especificado na Diretriz 8 do volume de Definições de Base de POSIX.1‐2008, Seção
12.2, Utilidade Sintaxe orientações. Os campos especificados por Lista deve ser escrito
para todas as linhas de saída selecionadas. Campos selecionados por Lista que não aparecem no
a entrada deve ser tratada como campos de saída vazios. (Veja o -E opção.) Apenas
campos especificamente solicitados devem ser escritos. A aplicação deve garantir
que Lista é um único argumento de linha de comando.
-t carbonizar Use personagem carbonizar como separador, tanto para entrada quanto para saída. Cada aparência
of carbonizar em uma linha deve ser significativo. Quando esta opção é especificada, o
sequência de agrupamento deve ser a mesma que tipo sem o -b opção.
−v número do arquivo
Em vez da saída padrão, produza uma linha apenas para cada linha não emparelável em
número do arquivo, Onde número do arquivo é 1 ou 2. Se ambos −v1 e −v2 são especificados, todos
linhas não emparelhadas devem ser geradas.
-1 campo Junte-se ao campoo campo do arquivo 1. Os campos são inteiros decimais começando com
1.
-2 campo Junte-se ao campoo campo do arquivo 2. Os campos são inteiros decimais começando com
1.
OPERANDOS
Os seguintes operandos devem ser suportados:
file1, file2
O nome do caminho de um arquivo a ser unido. Se qualquer um dos file1 or file2 operandos é
'-', a entrada padrão deve ser usada em seu lugar.
STDIN
A entrada padrão deve ser usada apenas se o file1 or file2 operando é '-'. Veja o INPUT
Seção ARQUIVOS.
INPUT ARQUIVOS
Os arquivos de entrada devem ser arquivos de texto.
MEIO AMBIENTE VARIÁVEIS
As seguintes variáveis de ambiente devem afetar a execução de juntar:
GRANDE Forneça um valor padrão para as variáveis de internacionalização que não estão definidas ou
nulo. (Veja o volume de Definições de Base de POSIX.1‐2008, Seção 8.2,
Internacionalização Variáveis pela precedência de internacionalização
variáveis usadas para determinar os valores das categorias de local.)
LC_ALL Se definido como um valor de string não vazio, substitui os valores de todos os outros
variáveis de internacionalização.
LC_COLLATE
Determine a localidade da sequência de intercalação juntar espera ter sido usado
quando os arquivos de entrada foram classificados.
LC_CTYPE Determine o local para a interpretação de sequências de bytes de dados de texto
como caracteres (por exemplo, caracteres de byte único em oposição a caracteres de bytes múltiplos em
argumentos e arquivos de entrada).
LC_MESSAGES
Determine a localidade que deve ser usada para afetar o formato e o conteúdo do
mensagens de diagnóstico gravadas no erro padrão.
NLSPAT Determine a localização dos catálogos de mensagens para o processamento de LC_MESSAGES.
ASSÍNCRONO EVENTOS
Padrão.
STDOUT
A juntar a saída do utilitário deve ser uma concatenação dos campos de caracteres selecionados. Quando o
−o opção não for especificada, a saída deve ser:
"% s% s% s \ n", <juntar campo>,de outros file1 Campos>,
<de outros file2 Campos>
Se o campo de junção não for o primeiro campo em um arquivo, ode outros lima Campos> para aquele arquivo
deverá ser:
<Campos precedente juntar campo>,Campos seguinte juntar campo>
Quando o −o opção for especificada, o formato de saída deve ser:
"% s \ n", <concatenação of Campos>
onde a concatenação de campos é descrita pelo −o opção, acima.
Para qualquer formato, cada campo (exceto o último) deve ser escrito com seu final
caractere separador. Se o separador for o padrão ( caracteres), um único
deve ser escrito após cada campo (exceto o último).
STDERR
O erro padrão deve ser usado apenas para mensagens de diagnóstico.
SAÍDA ARQUIVOS
Nenhum.
ESTENDIDO DESCRIÇÃO
Nenhum.
SAIR STATUS
Os seguintes valores de saída devem ser retornados:
0 Todos os arquivos de entrada foram produzidos com sucesso.
> 0 Ocorreu um erro.
CONSEQUÊNCIAS OF ERROS
Padrão.
A seguinte seções e guarante que os mesmos estão informativo.
APLICAÇÃO USO
Nomes de caminhos consistindo de dígitos numéricos ou da forma string.string não deveria ser
especificado diretamente após o −o Lista.
EXEMPLOS
A −o O campo 0 seleciona essencialmente a união dos campos de junção. Por exemplo, determinado arquivo
telefone:
!Nome Telefone Sessão
dom +1 123-456-7890
Hal +1 234-567-8901
Yasushi +2 345-678-9012
e arquivo fax:
!Nome Fax Sessão
dom +1 123-456-7899
Keith +1 456-789-0122
Yasushi +2 345-678-9011
(onde as grandes extensões de espaço em branco significam que cada uma representa um único ), a
comando:
juntar -t " " −a 1 −a 2 -E '(desconhecido)' −o 0,1.2,2.2 telefone fax
produziria:
!Nome Telefone Sessão Fax Sessão
dom +1 123-456-7890 +1 123-456-7899
Hal +1 234-567-8901 (desconhecido)
Keith (desconhecido) +1 456-789-0122
Yasushi +2 345-678-9012 +2 345-678-9011
Múltiplas instâncias da mesma chave produzirão resultados combinatórios. A seguir:
faz:
a x
a y
a z
fb:
a p
vai produzir:
a x p
a y p
a z p
E o seguinte:
faz:
a b c
a d e
fb:
a w x
a y z
a o p
vai produzir:
a b c w x
a b c y z
a b c o p
a d e w x
a d e y z
a d e o p
JUSTIFICATIVA
A -E opção só é eficaz quando usada com −o porque, a menos que campos específicos sejam
identificado usando −o, juntar não tem conhecimento de quais campos podem estar vazios. A exceção para
este é o campo de junção, mas identificando um campo de junção vazio com o -E string não é
a prática histórica e alguns scripts podem falhar se isso for alterado.
O campo 0 no −o lista foi adotada a partir da versão da Décima Edição de juntar Satisfazer a
objeções internacionais de que o juntar nos documentos base não suporta o `` completo
join '' ou `` outer join '' descrito na literatura de banco de dados relacional. Embora tenha sido
possível incluir um campo de junção na saída (por padrão, ou por número de campo usando −o),
o campo de junção não pôde ser incluído para uma linha não emparelhada selecionada por −a. O −o Campo 0
essencialmente seleciona a união dos campos de junção.
Este tipo de junção externa não era possível com o juntar comandos nos documentos base. o
−o O campo 0 foi escolhido porque é uma alteração compatível com versões anteriores para aplicativos. Um
alternativa foi considerada: fazer com que o campo de junção represente a união dos campos no
arquivos (onde eles são idênticos para linhas combinadas, e um ou ambos são nulos para linhas não correspondidas
linhas). Isso não foi adotado porque iria quebrar algumas aplicações históricas.
A capacidade de especificar file2 as - não é uma prática histórica; foi adicionado para
completude.
A −v opção não é prática histórica, mas foi considerada necessária porque
permitiu a escrita de só aquelas linhas que não correspondem no campo de junção, ao contrário
ao −a opção, que imprime ambas as linhas que correspondem e não correspondem. Este adicional
instalação é paralela ao −v opção de grep.
Algumas implementações históricas foram encontradas onde uma linha em branco em um dos
arquivos de entrada foram considerados como o fim do arquivo; a descrição neste volume de
POSIX.1‐2008 não cita isso como um caso permitido.
Versões anteriores deste padrão permitidas −j, −j1, −j2 opções e uma forma de −o
opção que permitiu o Lista opção-argumento para ser vários argumentos. Esses formulários não são
especificado por POSIX.1‐2008, mas pode estar presente em algumas implementações.
FUTURO INSTRUÇÕES
Nenhum.
Use o joinposix online usando os serviços onworks.net