GoGPT Best VPN GoSearch

Favicon di OnWorks

funjoin - Online nel cloud

Esegui funjoin nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando funjoin che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


funjoin - unisci due o più tabelle binarie FITS su colonne specificate

SINOSSI


divertimento [interruttori] ...

VERSIONI


-a cols # colonne da attivare in tutti i file
-a1 cols ... un cols # colonne da attivare in ogni file
-b 'c1:bvl,c2:bv2' # valori vuoti per colonne comuni in tutti i file
-bn 'c1:bv1,c2:bv2' # valori vuoti per colonne in file specifici
-j col # colonna per unire tutti i file
-j1 col ... jn col # colonna da unire in ogni file
-m min # min corrisponde all'output di una riga
-M max # max corrispondenze per l'output di una riga
-s # aggiunge la colonna di stato 'jfiles'
-S col # aggiungi col come colonna di stato
-t tol # tolleranza per unire colonne numeriche [solo 2 file]

DESCRIZIONE


divertimento unisce le righe di due o più (fino a 32) file di tabella binaria FITS, in base a
valori delle colonne di join specificate in ogni file. NB: le colonne di join devono avere un indice
file ad esso associato. Questi file vengono generati utilizzando il indice fun .

Il primo argomento del programma specifica la prima tabella FITS di input o il file di eventi non elaborato.
Se viene specificato "stdin", i dati vengono letti dallo standard input. Argomenti successivi
specificare file di eventi e tabelle aggiuntivi da unire. L'ultimo argomento è l'output FITS
file.

NB: fare non è un usa la notazione tra parentesi di Funtools per specificare le estensioni FITS e i filtri di riga quando
correndo funjoin o otterrai risultati errati. Le righe sono accessibili e unite utilizzando il
indicizza direttamente i file e questo ignora tutti i filtri.

Le colonne di join sono specificate usando il -j col switch (che specifica un nome di colonna a
utilizzare per tutti i file) o con -j1 col1, -j2 col2... -giov colonna switch (che specificano a
nome della colonna da utilizzare per ogni file). È necessario specificare una colonna di unione per ogni file. Se entrambi
-j col e -giov colonna sono specificati per un dato file, quindi viene utilizzato quest'ultimo. Unisci colonne
deve essere di tipo stringa o di tipo numerico; è illegale mischiare numeri e stringhe
colonne in un dato join. Ad esempio, per unire tre file utilizzando la stessa colonna chiave per
ogni file, usa:

funjoin -j chiave in1.fits in2.fits in3.fits out.fits

È possibile specificare una chiave diversa per il terzo file in questo modo:

funjoin -j chiave -j3 altra chiave in1.fits in2.fits in3.fits out.fits

. -a "col" interruttore (e -A1 "col1", -A2 "cols2" controparti) può essere utilizzato per specificare
colonne da attivare (cioè scrivere nel file di output) per ogni file di input. Per impostazione predefinita, tutto
vengono emesse le colonne.

Se due o più colonne di file separati hanno lo stesso nome, la seconda (e le successive)
le colonne vengono rinominate per avere un carattere di sottolineatura e un valore numerico aggiunto.

. -m verbale e -M max gli switch specificano il numero minimo e massimo di join richiesti per
scrivi una riga. Il minimo predefinito è 0 join (ovvero tutte le righe sono scritte) e il
il valore massimo predefinito è 63 (il numero massimo di join possibili con un limite di 32 input
File). Ad esempio, per scrivere solo quelle righe in cui esattamente due file hanno colonne
quella corrispondenza (cioè un join):

funjoin -j chiave -m 1 -M 1 in1.adatta a2.adatta a3.adatta ... fuori.adatta

Una determinata riga può avere il numero richiesto di join senza che tutti i file vengano uniti
(ad es. tre file vengono uniti ma solo due hanno un determinato valore di chiave di unione). In questo
caso, tutte le colonne del file non unito vengono scritte, per impostazione predefinita, utilizzando spazi vuoti
(zeri o NULL). Il -b c1:bv1,c2:bv2 e -b1 'c1:bv1,c2:bv2' -b2 'c1:bv1,c2 - bv2' ...
le opzioni possono essere utilizzate per impostare il valore vuoto per le colonne comuni a tutti i file e/o colonne
rispettivamente in un file specificato. Ogni stringa di valore vuota contiene un elenco separato da virgole
di colonna: identificatori blank_val. Per i valori in virgola mobile (singolo o doppio), un caso-
Il valore della stringa insensibile di "nan" significa che deve essere utilizzato IEEE NaN (not-a-number).
Così, ad esempio:

funjoin -b "AKEY:???" -b1 "LA:-1" -b3 "SOL:NaN,MI:-1,Fa:-100" ...

significa che una colonna AKEY non unita in qualsiasi file conterrà la stringa "???", la non-
unito Una colonna del file 1 conterrà un valore di -1, la colonna G non unita del file 3
conterrà IEEE NaN, mentre le colonne E e F non unite dello stesso file conterranno
valori -1 e -100, rispettivamente. Naturalmente, dove ci sono valori di bianco comuni e specifici
specificato per la stessa colonna, viene utilizzato il valore vuoto specifico.

Per distinguere quali file sono componenti non vuoti di una data riga, il -s (stato) interruttore
può essere utilizzato per aggiungere una colonna maschera di bit denominata "JFILES" al file di output. In questa colonna, a
bit è impostato per ogni file non vuoto che compone la riga data, con bit 0 corrisponde al
primo file, bit 1 per il secondo file e così via. I nomi dei file stessi sono memorizzati in
l'intestazione FITS come parametri denominati JFILE1, JFILE2, ecc -S col l'interruttore ti permette di
cambia il nome della colonna di stato dal valore predefinito "JFILES".

Un join tra righe è il prodotto cartesiano di tutte le righe in un file con un determinato join
valore della colonna con tutte le righe in un secondo file con lo stesso valore per la sua colonna di join e
presto. Quindi, se file1 ha 2 righe con valore di colonna join 100, file2 ha 3 righe con
stesso valore e file3 ha 4 righe, quindi il join restituisce 2*3*4=24 righe in output.

L'algoritmo di join elabora direttamente il file indice associato alla colonna join di
ogni file. Il valore più piccolo di tutte le colonne correnti viene selezionato come base, e questo
value viene utilizzato per unire colonne di valore uguale negli altri file. In questo modo, l'indice
i file vengono attraversati esattamente una volta.

. -t tol L'opzione specifica un valore di tolleranza per le colonne numeriche. Al momento, a
Il valore di tolleranza può unire solo due file alla volta. (Un algoritmo completamente diverso è
richiesto per unire più di due file utilizzando una tolleranza, cosa che potremmo considerare
implementare in futuro.)

L'esempio seguente mostra molte delle funzionalità di funjoin. I file di input t1.fits,
t2.fits e t3.fits contengono le seguenti colonne:

[sh] funddisp t1.fits
AKEY CHIAVE AB
----------- ------ ------ ------
aa 0 0 1
bbb 1 3 4
cc 2 6 7
gg 3 9 10
eee 4 12 13
ff 5 15 16
gg 6 18 19
hh 7 21 22

fundip t2.adatta
AKEY KEY CD
----------- ------ ------ ------
iii8 24 25
gg 6 18 19
eee 4 12 13
cc 2 6 7
aa 0 0 1

fundip t3.adatta
AKEY KEY EFG ------------ ------ -------- --------
-----------
gg 6 18 19 100.10
jjj 9 27 28 200.20
aaa 0 0 1 300.30
gg 3 9 10 400.40

Dati questi file di input, il seguente comando funjoin:

funjoin -s -a1 "-B" -a2 "-D" -a3 "-E" -b \
"UNA CHIAVE:???" -b1 "AKEY:XXX,A:255" -b3 "G:NaN,E:-1,F:-100" \
-j chiave t1.adatta a t2.adatta a t3.adatta a foo.adatta

unirà i file sulla colonna KEY, emettendo tutte le colonne tranne B (in t1.fits), D (in
t2.fits) ed E (in t3.fits) e impostando valori vuoti per AKEY (globalmente, ma sovrascritto
per t1.fits) e A (nel file 1) e G, E e F (nel file 3). Una colonna JFILES sarà
output per contrassegnare quali file sono stati utilizzati in ciascuna riga:

AKEY KEY A AKEY_2 KEY_2 C AKEY_3 KEY_3 FG JFILES
------------ ------ ------ ------------ ------ ------ -- ---------- ------ -------- ----------- --------
aaa 0 0 aaa 0 0 aaa 0 1 300.30 7
bb 1 3 ??? 0 0 ??? 0 -100 nan 1
ccc 2 6 ccc 2 6 ??? 0 -100 nano 3
gg 3 9 ??? 0 0 gg 3 10 400.40 5
eee 4 12 eee 4 12 ??? 0 -100 nano 3
ff 5 15 ??? 0 0 ??? 0 -100 nan 1
gg 6 18 gg 6 18 gg 6 19 100.10 7
eh 7 21 ??? 0 0 ??? 0 -100 nan 1
XXX 0 255 iii 8 24 ??? 0 -100 nano 2
XXX 0 255 ??? 0 0 jjj 9 28 200.20 4

Usa funjoin online utilizzando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

Comandi Linux

Ad




×
Cookie per pubblicità
❤️Fai acquisti, prenota o acquista qui: nessun costo, aiuta a mantenere i servizi gratuiti.