Uniendo dos archivos que tienen filas duplicadas en ambos.
Estoy tratando de unir dos archivos que tienen la misma columna 1 pero diferentes columna 2:
Archivo1
aaa 1
bbb 3
bbb 3
ccc 1
ccc 1
ccc 0
Archivo2
aaa 2
bbb 2
bbb 2
ccc 1
ccc 1
ccc 0
Cuando intento unirlos con
join Archivo1 Archivo2 > Archivo3
Obtengo
aaa 1 2
bbb 3 2
bbb 3 2
bbb 3 2
bbb 3 2
ccc 1 1
ccc 1 1
ccc 1 0
ccc 1 1
ccc 1 1
ccc 1 0
ccc 0 1
ccc 0 1
ccc 0 0
El comando “join” está tratando de expandir los duplicados cuando lo único que quiero es que vaya línea por línea, por lo que la salida debería ser
aaa 1 2
bbb 3 2
bbb 3 2
ccc 1 1
ccc 1 1
ccc 0 0
¿Cómo puedo indicarle a “join” que ignore los duplicados y simplemente combine los archivos línea por línea?
EDIT: Esto se está haciendo en un bucle con múltiples archivos que todos tienen la misma columna 1 pero diferentes columna 2. Estoy uniendo los dos primeros archivos en un archivo temporal y luego iterando a través de los demás archivos uniendo con ese archivo temporal.
davy.ai
Puede agregar la opción
-a
al comandojoin
, con un valor de1
, para mostrar solo las líneas del primer archivo que no tienen una línea coincidente en el segundo archivo. Esto efectivamente ignorará los duplicados en el segundo archivo y solo combinará los archivos línea por línea. El comando modificado sería: