1 votos

Para concatenar con BSD Join

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 errores 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

que debe ser

2025 75.5 82.5 89.5 2.5 2.5 2.5
...

Variante de Unix join A B funciona según mi amigo.

Salidas de 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 i.e BSD?

0 votos

A mí me funciona con estos archivos. ¿Estás seguro de que los finales de línea son de tipo unix y no de tipo DOS (DOS/Windows producen archivos con CR+LF al final, las herramientas unix prefieren LF)?

0 votos

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

1voto

join me funciona 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 cabecera que no coincidan en cada archivo, es necesario eliminarlas primero, ya que 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

0 votos

Gracias por su aportación. Así que join considera las cabeceras al hacer la unión.

0 votos

join no sabe de cabeceras en primer lugar, sólo une (o lo intenta) líneas de texto

0 votos

Así que los parámetros -1 1 y -2 1 le dice a join que utilizan las primeras columnas de los archivos como punto de pivote si son las mismas. Cuando no eran iguales, no salía nada.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X