InglésFrancésEspañol

Ad


icono de página de OnWorks

funjoin - Online en la nube

Ejecute funjoin en el proveedor de alojamiento gratuito de OnWorks a través de Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando funjoin que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


funjoin: une dos o más tablas binarias FITS en columnas especificadas

SINOPSIS


diviertete [conmutadores] ...

CAMPUS


-a cols # columnas para activar en todos los archivos
-a1 cols ... an cols # columnas para activar en cada archivo
-b 'c1: bvl, c2: bv2' # valores en blanco para columnas comunes en todos los archivos
-bn 'c1: bv1, c2: bv2' # valores en blanco para columnas en archivos específicos
-j col # columna para unir todos los archivos
-j1 col ... jn col # columna para unir en cada archivo
-m min # min coincide con la salida de una fila
-M max # max coincidencias para generar una fila
-s # agrega la columna de estado 'jfiles'
-S col # agregar col como columna de estado
-t tol # tolerancia para unir columnas numéricas [solo 2 archivos]

DESCRIPCIÓN


diviertete une filas de dos o más (hasta 32) archivos de tabla binaria FITS, según el
valores de columnas de unión especificadas en cada archivo. NB: las columnas de unión deben tener un índice
archivo asociado a él. Estos archivos se generan utilizando el índice de diversión .

El primer argumento del programa especifica la primera tabla FITS de entrada o archivo de eventos sin formato.
Si se especifica "stdin", los datos se leen desde la entrada estándar. Argumentos posteriores
especificar archivos de eventos y tablas adicionales para unirse. El último argumento es la salida FITS
archivo.

NB: Hacer no utilice la notación de corchetes de Funtools para especificar extensiones FITS y filtros de fila cuando
ejecutando funjoin o obtendrá resultados incorrectos. Se accede a las filas y se unen mediante el
indexar archivos directamente, y esto omite todos los filtros.

Las columnas de unión se especifican mediante el -j columna cambiar (que especifica un nombre de columna para
usar para todos los archivos) o con -j1 col1, -j2 col2... -jn colón interruptores (que especifican un
nombre de columna que se utilizará para cada archivo). Se debe especificar una columna de combinación para cada archivo. Si ambos
-j columna y -jn colón se especifican para un archivo dado, luego se utiliza este último. Unir columnas
debe ser de tipo cadena o numérico; es ilegal mezclar números y cadenas
columnas en una combinación determinada. Por ejemplo, para unir tres archivos usando la misma columna de clave para
cada archivo, use:

funjoin -j tecla in1. se adapta a2.se adapta a3.se adapta.

Se puede especificar una clave diferente para el tercer archivo de esta manera:

funjoin -j tecla -j3 otra tecla in1.

El -a "cols" cambiar (y .A1 "col1", .A2 "cols2" contrapartes) se pueden utilizar para especificar
columnas para activar (es decir, escribir en el archivo de salida) para cada archivo de entrada. Por defecto, todos
se emiten columnas.

Si dos o más columnas de archivos separados tienen el mismo nombre, la segunda (y posteriores)
las columnas se renombran para tener un guión bajo y un valor numérico agregado.

El -m min y -M max Los conmutadores especifican el número mínimo y máximo de uniones necesarias para
escribe una fila. El mínimo predeterminado es 0 combinaciones (es decir, todas las filas están escritas) y el
el máximo predeterminado es 63 (el número máximo de combinaciones posibles con un límite de 32 entradas
archivos). Por ejemplo, para escribir solo aquellas filas en las que exactamente dos archivos tienen columnas
esa coincidencia (es decir, una combinación):

funjoin -j tecla -m 1 -M 1 in1. se adapta a2.se adapta a3.se adapta ...

Una fila determinada puede tener el número requerido de uniones sin que se unan todos los archivos
(por ejemplo, se están uniendo tres archivos, pero solo dos tienen un valor de clave de combinación determinado). En esto
caso, todas las columnas del archivo no unido se escriben, de forma predeterminada, utilizando espacios en blanco
(ceros o NULL). los -b c1: bv1, c2: bv2 y -b1 'c1: bv1, c2: bv2' -b2 'c1: bv1, c2 - bv2' ...
Los interruptores se pueden usar para establecer el valor en blanco para las columnas comunes a todos los archivos y / o columnas.
en un archivo especificado, respectivamente. Cada cadena de valor en blanco contiene una lista separada por comas
of column: especificadores blank_val. Para valores de coma flotante (simple o doble), un caso-
El valor de cadena insensible de "nan" significa que se debe utilizar el IEEE NaN (no un número).
Así, por ejemplo:

funjoin -b "AKEY: ???" -b1 "A: -1" -b3 "G: NaN, E: -1, F: -100" ...

significa que una columna AKEY no unida en cualquier archivo contendrá la cadena "???", la
unida Una columna del archivo 1 contendrá un valor de -1, la columna G no unida del archivo 3
contendrá IEEE NaN, mientras que las columnas E y F no unidas del mismo archivo contendrán
valores -1 y -100, respectivamente. Por supuesto, donde los valores en blanco comunes y específicos son
especificado para la misma columna, se utiliza el valor en blanco específico.

Para distinguir qué archivos son componentes que no están en blanco de una fila determinada, -s (estado) interruptor
se puede usar para agregar una columna de máscara de bits llamada "JFILES" al archivo de salida. En esta columna, un
El bit se establece para cada archivo que no está en blanco que compone la fila dada, con el bit 0 corresponde al
primer archivo, bit 1 al segundo archivo, y así sucesivamente. Los propios nombres de archivo se almacenan en
el encabezado FITS como parámetros denominados JFILE1, JFILE2, etc. -S columna interruptor te permite
cambie el nombre de la columna de estado del predeterminado "JFILES".

Una unión entre filas es el producto cartesiano de todas las filas en un archivo que tienen una unión determinada
valor de columna con todas las filas en un segundo archivo que tienen el mismo valor para su columna de unión y
pronto. Por lo tanto, si file1 tiene 2 filas con un valor de columna de unión 100, file2 tiene 3 filas con el
mismo valor, y file3 tiene 4 filas, entonces la combinación da como resultado 2 * 3 * 4 = 24 filas que se generan.

El algoritmo de combinación procesa directamente el archivo de índice asociado con la columna de combinación de
cada archivo. El valor más pequeño de todas las columnas actuales se selecciona como base, y este
value se usa para unir columnas de igual valor en los otros archivos. De esta forma, el índice
los archivos se recorren exactamente una vez.

El -t tol switch especifica un valor de tolerancia para columnas numéricas. En la actualidad, un
El valor de tolerancia solo puede unir dos archivos a la vez. (Un algoritmo completamente diferente es
necesario para unir más de dos archivos utilizando una tolerancia, algo que podríamos considerar
implementando en el futuro.)

El siguiente ejemplo muestra muchas de las características de funjoin. Los archivos de entrada t1.fits,
t2.fits y t3.fits contienen las siguientes columnas:

[sh] fundisp t1.encaja
CLAVE CLAVE AB
----------- ------ ------ ------
aaaa 0 0 1
bb 1 3 4
CC 2 6 7
DD 3 9 10
eee 4 12 13
fff 5 15 16
6 18 19
hhh 7 21 22

fundisp t2.se adapta
CD DE LLAVE AKEY
----------- ------ ------ ------
III 8 24 25
6 18 19
eee 4 12 13
CC 2 6 7
aaaa 0 0 1

fundisp t3.se adapta
TECLA CLAVE EFG ------------ ------ -------- --------
-----------
ggg 6 18 19 100.10
jjj 9 27 28 200.20
aaa 0 0 1
ddd 3 9 10

Dados estos archivos de entrada, el siguiente comando funjoin:

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

unirá los archivos en la columna CLAVE, dando salida a todas las columnas excepto B (en t1.fits), D (en
t2.fits) y E (en t3.fits), y estableciendo valores en blanco para AKEY (globalmente, pero anulado
para t1.fits) y A (en el archivo 1) y G, E y F (en el archivo 3). Una columna JFILES será
salida para marcar qué archivos se utilizaron en cada fila:

AKEY LLAVE A AKEY_2 KEY_2 C AKEY_3 KEY_3 FG JFILES
------------ ------ ------ ------------ ------ ------ - ---------- ------ -------- ----------- --------
aaa 0 0 aaa 0 0 aaa 0 1 300.30
bbb 1 3 ??? 0 0 ??? 0-100 nan 1
ccc 2 6 ccc 2 6 ??? 0-100 nan 3
ddd 3 9 ??? 0 0 ddd 3 10 400.40
eee 4 12 eee 4 12 ??? 0-100 nan 3
fff 5 15 ??? 0 0 ??? 0-100 nan 1
ggg 6 18 ggg 6 18 ggg 6 19 100.10
hhh 7 21 ??? 0 0 ??? 0-100 nan 1
XXX 0 iii 255 8 ??? 24-0 nan 100
XXX 0 ??? 255 0 jjj 0 9 28 200.20

Use funjoin en línea usando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

Comandos de Linux

Ad