unir pesca para nudos lineas basicos awk

awk - pesca - cómo unir dos líneas y restarlas



nudos basicos de pesca (3)

Tengo un archivo con dos columnas, quiero hacer coincidir la columna dos con cada valor en la columna dos si se combinan restan la columna uno de la columna uno de los dos valores coincidentes de la columna uno

7.788244 0 7.800744 1 7.813244 2 7.825744 3 7.838244 4 7.850744 5 7.863244 6 7.875744 7 7.888244 8 7.900744 9 7.913244 10 7.925744 11 7.938244 12 7.950744 13 7.963244 14 7.975744 15 7.801751 0 7.814251 1 7.826751 2 7.839251 3 7.851751 4 7.864251 5 7.876751 6 7.889251 7 7.901751 8 7.914251 9 7.926751 10 7.939251 11 7.951751 12 7.964251 13 7.976751 14 7.989251 15

ejemplo

0.013507 0.013507 0.013507


Puedes hacer algo como:

awk ''{a[$2]?b[++i]=$1-a[$2]:a[$2]=$1}END{for(;x<length(b);) print b[++x]}'' inputFile


Código para GNU awk :

awk ''a[$2]?a[$2]-=$1:a[$2]+=$1 {next} END {for (i in a) print -a[i]}'' file


awk ''{if(a[$2]){print $1-a[$2]}else{a[$2]=$1;}}'' your_file