Questo è il comando joinposix che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre numerose workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online di Windows o emulatore online di MAC OS
PROGRAMMA:
NOME
join — operatore di database relazionale
SINOSSI
join [-a numero_file|−v numero_file] [-e stringa] [-o stratagemma] [-t serbatoio]
[-1 campo] [-2 campo] file1 file2
DESCRIZIONE
. join l'utilità eseguirà un'unione di uguaglianza sui file file1 e file2. Il unito
i file devono essere scritti sull'output standard.
Il campo join è un campo in ogni file su cui vengono confrontati i file. Il join utilità
scriverà una riga nell'output per ogni coppia di righe in file1 e file2 che hanno
campi di join identici. La riga di output per impostazione predefinita sarà composta dal campo di join, quindi
i campi rimanenti da file1, quindi i campi rimanenti da file2Questo formato può essere
modificato utilizzando il -o opzione (vedi sotto). L' -a l'opzione può essere utilizzata per aggiungere non corrispondenti
linee all'output. Il -v l'opzione può essere utilizzata per visualizzare solo le righe non corrispondenti.
I file file1 e file2 devono essere ordinati nella sequenza di collazione di sorta -b sul canale
campi su cui verranno uniti, per impostazione predefinita il primo in ogni riga. Tutti selezionati
l'output deve essere scritto nella stessa sequenza di collazione.
I separatori predefiniti dei campi di input devono essere caratteri. In questo caso, più
i separatori saranno considerati come un separatore di campo e i separatori iniziali saranno ignorati.
Il separatore di campo di output predefinito deve essere un .
Il separatore di campo e la sequenza di collazione possono essere modificati utilizzando -t opzione (vedi
sotto).
Se la stessa chiave appare più di una volta in uno dei due file, tutte le combinazioni del set di
campi rimanenti in file1 e l'insieme dei campi rimanenti in file2 vengono emessi nell'ordine
delle linee incontrate.
Se i file di input non sono nella sequenza di collazione appropriata, i risultati sono
non specificato.
VERSIONI
. join l'utilità deve essere conforme al volume delle definizioni di base di POSIX.1‐2008, Sezione
12.2, Utilità Sintassi Linee Guida.
Sono supportate le seguenti opzioni:
-a numero_file
Produci una riga per ogni riga non abbinabile nel file numero_fileDurante la serata, numero_file
è 1 o 2, oltre all'output predefinito. Se entrambi -a1 e -a2 sono specificati,
tutte le linee non abbinabili verranno visualizzate.
-e stringa Sostituisci i campi di output vuoti nell'elenco selezionato da -o con la corda stringa.
-o stratagemma Costruisci la riga di output per comprendere i campi specificati in stratagemma, ogni elemento
di cui dovrà avere una delle due forme seguenti:
1. numero_file.campoDurante la serata, numero_file è un numero di file e campo è un decimale
numero di campo intero
2. 0 (zero), che rappresenta il campo di join
Gli elementi di stratagemma deve essere o -separati o -separati, come
specificato nella Linea Guida 8 del volume Definizioni di Base di POSIX.1‐2008, Sezione
12.2, Utilità Sintassi Linee GuidaI campi specificati da stratagemma sarà scritto
per tutte le linee di output selezionate. Campi selezionati da stratagemma che non compaiono nel
l'input deve essere trattato come campi di output vuoti. (Vedi -e opzione.) Solo
devono essere scritti i campi specificatamente richiesti. L'applicazione deve garantire
che stratagemma è un singolo argomento della riga di comando.
-t serbatoio Usa il carattere serbatoio come separatore, sia per l'input che per l'output. Ogni aspetto
of serbatoio in una riga deve essere significativo. Quando questa opzione è specificata, il
la sequenza di collazione deve essere la stessa di sorta senza il -b opzione.
-v numero_file
Invece dell'output predefinito, produce una sola riga per ogni riga non accoppiabile in
numero_fileDurante la serata, numero_file è 1 o 2. Se entrambi -v1 e -v2 sono specificati, tutti
verranno visualizzate le linee non abbinabili.
-1 campo Unisciti al campoesimo campo del file 1. I campi sono numeri interi decimali che iniziano con
1.
-2 campo Unisciti al campoesimo campo del file 2. I campi sono numeri interi decimali che iniziano con
1.
OPERANDI
Devono essere supportati i seguenti operandi:
file1, file2
Un percorso di un file da unire. Se uno dei due file1 or file2 operandi è
'-', al suo posto verrà utilizzato l'input standard.
STDIN
L'input standard deve essere utilizzato solo se file1 or file2 l'operando è '-'. Vedi l'INGRESSO
sezione FILE.
INGRESSO FILE
I file di input devono essere file di testo.
AMBIENTE VARIABILI
Le seguenti variabili d'ambiente influiranno sull'esecuzione di join:
LUNGO Fornire un valore predefinito per le variabili di internazionalizzazione non impostate o
nullo. (Vedi il volume Definizioni di base di POSIX.1-2008, Sezione 8.2,
Internazionalizzazione Variabili per il primato dell'internazionalizzazione
variabili utilizzate per determinare i valori delle categorie locali.)
LC_TUTTI Se impostato su un valore di stringa non vuoto, sovrascrive i valori di tutti gli altri
variabili di internazionalizzazione.
LC_COLLATE
Determinare le impostazioni locali della sequenza di collazione join si aspetta di essere stato utilizzato
quando i file di input sono stati ordinati.
LC_CTYPE Determinare la localizzazione per l'interpretazione di sequenze di byte di dati di testo
come caratteri (ad esempio, caratteri a byte singolo anziché caratteri multibyte in
argomenti e file di input).
LC_MESSAGGI
Determinare la localizzazione che dovrebbe essere usata per influenzare il formato e il contenuto di
messaggi di diagnostica scritti nell'errore standard.
NLSPATH Determinare la posizione dei cataloghi dei messaggi per l'elaborazione di LC_MESSAGGI.
ASINCRONO EVENTI
Predefinito.
STDOUT
. join l'output dell'utilità deve essere una concatenazione di campi di caratteri selezionati. Quando l'
-o se l'opzione non è specificata, l'output sarà:
"%s%s%s\n", <join campo>,Altri file1 campi>,
<Altri file2 campi>
Se il campo join non è il primo campo in un file, ilAltri filetto campi> per quel file
deve essere:
<campi precedente join campo>,campi i seguenti join campo>
Quando il -o se l'opzione è specificata, il formato di output sarà:
"%s\n", <concatenazione of campi>
dove la concatenazione dei campi è descritta da -o opzione, sopra.
Per entrambi i formati, ogni campo (tranne l'ultimo) deve essere scritto con il suo carattere finale
carattere separatore. Se il separatore è quello predefinito ( caratteri), un singolo
deve essere scritto dopo ogni campo (tranne l'ultimo).
Stderr
L'errore standard deve essere utilizzato solo per i messaggi di diagnostica.
USCITA FILE
Nessuno.
EXTENDED DESCRIZIONE
Nessuno.
EXIT STATUS
Devono essere restituiti i seguenti valori di uscita:
0 Tutti i file di input sono stati emessi correttamente.
>0 Si è verificato un errore.
CONSEGUENZE OF ERRORI
Predefinito.
. i seguenti sezioni sono Informativo.
APPLICAZIONI USO
Nomi di percorso costituiti da cifre numeriche o della forma stringa.stringa non dovrebbe essere
specificato direttamente dopo il -o elenco.
ESEMPI
. -o Il campo 0 seleziona essenzialmente l'unione dei campi join. Ad esempio, dato il file
telefono:
!Nome Telefono Numero
don +1 123-456-7890
Hal +1 234-567-8901
Yasushi +2 345-678-9012
e file fax:
!Nome Fax Numero
don +1 123-456-7899
Keith +1 456-789-0122
Yasushi +2 345-678-9011
(dove le grandi distese di spazio bianco sono destinate a rappresentare ciascuna un singolo ), IL
comando:
join -t " " -a 1 -a 2 -e '(sconosciuto)' -o 0,1.2,2.2 telefono fax
produrrebbe:
!Nome Telefono Numero Fax Numero
don +1 123-456-7890 +1 123-456-7899
Hal +1 234-567-8901 (sconosciuto)
Keith (sconosciuto) +1 456-789-0122
Yasushi +2 345-678-9012 +2 345-678-9011
Più istanze della stessa chiave produrranno risultati combinatori. Ecco cosa succede:
fa:
a x
a y
a z
fb:
a p
produrrà:
a x p
a y p
a z p
E quanto segue:
fa:
a b c
a d e
fb:
a w x
a y z
a o p
produrrà:
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
FONDAMENTO LOGICO
. -e l'opzione è efficace solo se utilizzata con -o perché, a meno che non siano specificati campi
identificato utilizzando -o, join non è a conoscenza di quali campi potrebbero essere vuoti. L'eccezione a
questo è il campo join, ma identificare un campo join vuoto con -e la stringa non è
pratica storica e alcuni script potrebbero non funzionare se ciò venisse modificato.
Il campo 0 nel -o l'elenco è stato adottato dalla versione della decima edizione di join per soddisfare
obiezioni internazionali che il join nei documenti di base non supporta il ``completo
join'' o ``outer join'' descritti nella letteratura sui database relazionali. Sebbene sia stato
possibile includere un campo join nell'output (per impostazione predefinita, o tramite il numero di campo utilizzando -o),
il campo join non può essere incluso per una linea non accoppiata selezionata da -a. -o 0 campo
seleziona essenzialmente l'unione dei campi join.
Questo tipo di outer join non era possibile con il join comandi nei documenti di base. Il
-o Il campo 0 è stato scelto perché è una modifica compatibile con le versioni successive delle applicazioni. Un
è stata presa in considerazione un'alternativa: far sì che il campo join rappresenti l'unione dei campi nel
file (dove sono identici per le linee corrispondenti e uno o entrambi sono nulli per le linee non corrispondenti
linee). Questa soluzione non è stata adottata perché avrebbe compromesso alcune applicazioni storiche.
La capacità di specificare file2 as - non è una pratica storica; è stata aggiunta per
completezza.
. -v l'opzione non è una pratica storica, ma è stata considerata necessaria perché
ha permesso la scrittura di esclusivamente quelle linee che non corrispondono nel campo join, al contrario
ai -a opzione, che stampa sia le righe che corrispondono sia quelle che non corrispondono. Questa ulteriore
la struttura è parallela alla -v possibilità di grep.
Sono state riscontrate alcune implementazioni storiche in cui una riga vuota in una delle
i file di input erano considerati la fine del file; la descrizione in questo volume di
POSIX.1-2008 non cita questo come caso ammissibile.
Le versioni precedenti di questo standard consentivano -j, −j1, −j2 opzioni e una forma di -o
opzione che ha permesso la stratagemma opzione-argomento per avere più argomenti. Queste forme non sono
non è più specificato da POSIX.1‐2008 ma potrebbe essere presente in alcune implementazioni.
FUTURE INDICAZIONI
Nessuno.
Utilizzare joinposix online utilizzando i servizi onworks.net