GNU/Linux >> Tutoriales Linux >  >> Linux

Linux – Unir dos archivos ordenados da error:Unirse::112855:¿No está ordenado:?

Me gustaría fusionar una variable de un archivo a otro en Linux.
La primera variable contiene el nombre en el que quiero fusionar los archivos.

He ordenado ambos archivos usando -f y -k:
sort -f -k 1,1 SCZ.N.tmp> SCZ.N.tmp.sorted y sort -f -k 1,1 1kg.tmp > 1kG.ref_file.sorted

Sin embargo, cuando uno ambos archivos con este comando:join -1 1 -2 1 SCZ.N.tmp.sorted 1kG.ref_file.sorted> SCZ.freq.joined

Sigo recibiendo el error 'join:SCZ.N.tmp.sorted:112855:no está ordenado:chr1_100002155_D D I6 0.995112 0.0184 0.7897 87016 Sin embargo, la unión continúa y la mayoría se fusiona. Sin embargo, no estoy seguro de si estoy perdiendo una pequeña proporción de casos debido a la falta de coincidencia entre los archivos o porque algo salió mal al ordenar estos archivos.

¿Alguien sabe lo que estoy haciendo mal? ¿Y qué puedo hacer para no recibir este error?
¡Gracias!

También probé:LANG=en_EN sort -f -k 1,1 SCZ.N.tmp> SCZ.N.tmp.sorted2 y LANG=en_EN sort -f -k 1,1 1kg.tmp > 1kg.tmp.sorted2 , y luego unirse usando:LANG=en_EN join -1 1 -2 1 SCZ.N.tmp.sorted2 1kg.tmp.sorted2> SCZ.freq.joined . Pero eso no lo resolvió.

Respuesta aceptada:

Está ordenando los archivos con la opción -f, como claves independientes de mayúsculas y minúsculas.

Sin embargo, join espera las claves en la secuencia ordenada normal.

Debe agregar la opción -i a la línea de comando para unirse, para que ignore las diferencias entre mayúsculas y minúsculas.

Alternativamente, omita la opción -f de ambos tipos.

Editar:también encontré otra posibilidad aquí. Los separadores de campo deben ser idénticos para ordenar y unir. Parece que los valores predeterminados para ordenar y unir son espacios en blanco, pero puede ser el próximo obstáculo.


Linux
  1. Reparar FirewallD no está ejecutando un error en Linux Mint 12

  2. Cómo reparar el error de óxido "linker 'cc' no encontrado" en Linux

  3. ¿Cómo encontrar archivos de texto que no contengan texto en Linux?

  4. ¿Cómo unir dos archivos CSV?

  5. ¿Cómo puedo unir dos tuberías con nombre en un flujo de entrada único en Linux?

Cómo comparar dos archivos en la terminal de Linux

Cómo Rsync archivos entre dos servidores Linux automáticamente

Solución de problemas del error "Bash:Comando no encontrado" en Linux

Uso del comando Diff para comparar dos archivos en la terminal de Linux

Comparando dos archivos en la terminal de Linux

Diferencia en espacios en blanco entre dos archivos en Linux