Para concatenar con BSD Únete


1

Quiero concatenar en BSD Join.

Datos

Model Decreasing Constant Increasing
2025 75.5 82.5 89.5
2035 65.5 82.5 102
2050 49.5 82.5 112

y configuración de error en ybar

Model Decreasing Constant Increasing
2025 2.5 2.5 2.5
2035 2.5 2.5 5
2050 7.5 7.5 7.5

cual debería ser

2025 75.5 82.5 89.5 2.5 2.5 2.5
...

La variante de Unix join A Bfunciona según mi amigo.

Salidas desde la cabeza

$ head model1_ave.dat
Year Decreasing Constant Increasing
2025 75.5 82.5 89.5
2035 65.5 82.5 102
2050 49.5 82.5 112
$ head model1_ave_err.dat 
Model Decreasing Constant Increasing
2025 2.5 2.5 2.5
2035 2.5 2.5 5
2050 7.5 7.5 7.5

¿Cómo se pueden concatenar los dos archivos en OSX Join, es decir, BSD?


Funciona para mí con estos archivos. ¿Está seguro de que los finales de línea son de tipo Unix y no de estilo DOS (DOS / Windows producen archivos con CR + LF al final, las herramientas de Unix prefieren LF)?
nohillside

join -1 1 -2 1 <(grep -v Year model1_ave.dat) <(grep -v Model model1_ave_err.dat)funciona :-)
nohillside

Respuestas:


1

join funciona para mí aquí:

pse@Mithos:~/t$ join -1 1 -2 1 t1 t2
Model Decreasing Constant Increasing Decreasing Constant Increasing
2025 75.5 82.5 89.5 2.5 2.5 2.5
2035 65.5 82.5 102 2.5 2.5 5
2050 49.5 82.5 112 7.5 7.5 7.5

En caso de que haya líneas de encabezado no coincidentes en cada archivo, primero debe deshacerse de ellas, de lo contrario, la unión fallará.

pse@Mithos:~/t$ join -1 1 -2 1 <(grep -v Year t1) <(grep -v Model t2)
2025 75.5 82.5 89.5 2.5 2.5 2.5
2035 65.5 82.5 102 2.5 2.5 5
2050 49.5 82.5 112 7.5 7.5 7.5

¡Gracias por tu aportación! Entonces joinconsidera los encabezados al hacer la unión.
Léo Léopold Hertz 준영

joinno sabe acerca de los encabezados en primer lugar, solo une (o intenta) líneas de texto
nohillside

Entonces, los parámetros -1 1y -2 1le dicen a joineso que usen las primeras columnas de los archivos como punto de pivote si son iguales. Cuando no eran lo mismo, nada salía.
Léo Léopold Hertz 준영
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.