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