awk '
BEGIN {OFS=FS="\t"}
{a[NR]=$2; b[NR]=$3; c[NR]=$4}
NR%2 == 0 {
sub(/-orig$/, "", $1)
print $1, a[NR]-a[NR-1], b[NR]-b[NR-1], c[NR]-c[NR-1]
}
' file.txt
- use matrizes separadas para manter os valores, para que você não precise fazer todas as divisões
- faça a impressão em cada linha com numeração par em vez de no bloco END
Olhando novamente, você nem precisa de um array, apenas lembre-se dos valores da linha anterior:
awk '
BEGIN {OFS=FS="\t"}
NR%2 == 0 {
sub(/-orig$/, "", $1)
print $1, a-$2, b-$3, c-$4
}
{a = $2; b = $3; c = $4}
' file.txt