Linux/Unix Shell Scripting - Comparar columnas distintas en Bash

 
Vista:
sin imagen de perfil
Val: 4
Ha aumentado su posición en 4 puestos en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Comparar columnas distintas en Bash

Publicado por Enrique (2 intervenciones) el 27/04/2018 13:50:31
Buenas tardes! Soy un poco nuevo en esto, pero os comento mi problema...

Estoy realizando mi TFG, enfocado en la bioinformática. Tras varios datos obtenidos, me he encontrado con un fichero (en formato .txt) al que hay que quitarle dos columnas y compararlas entre ellas, para que así me indique la diferencia de longitud de caracteres que hay entre ambas.
Es decir, si la fila 1 de la columna 1 mide 7 caracteres, y la columna 2 de la misma fila mide 10 caracteres, que me arroje que el resultado es 3 caracteres (que me de el valor numérico de la diferencia). Si por ejemplo tienen los mismos caracteres, que me diga 0. Y sin embargo, si la fila 1 de la columna 1 mide 10 caracteres, mientras que en la columna 2 mide 7, me indique que hay -3 caracteres.

De momento lo que he conseguido es aislar las dos columnas (son la 4 y la 5) que quiero de la siguiente manera:
1
cut -f 4,5 entrada.txt > salida.txt
Necesitaría pues comparar ambas columnas y generar la diferencia que hay en cada fila.

Muchísimas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip
Val: 66
Plata
Ha mantenido su posición en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Comparar columnas distintas en Bash

Publicado por kip (17 intervenciones) el 27/04/2018 16:17:53
Hola, algo sencillo que se me ocurre es usar awk, algo asi:

1
cut -f 4,5 entrada.txt | awk '{print length($1) - length($2)}'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 4
Ha aumentado su posición en 4 puestos en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Comparar columnas distintas en Bash

Publicado por Enrique (2 intervenciones) el 28/04/2018 15:23:39
Es perfecto, muchísimas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar