output - tab formatted - awk

Dear All,

Good Day. I would like to hear your suggestions for the following problem:

I have a file with 5 columns with some numbers in 16 lines as shown below.
Input file:

Col 1    Col 2   Col 3    Col 4     Col 5
  12      220        2      121        20
 234       30      22         9       156
  25      129    320        94          7
.
.
.
.

I need to do the following

Col_1new= Col1 ~ Col2   (# difference between Col1 and Col2)
Col_2new= Col2 ~ Col3
Col_3new= Col3 ~ Col4 

and so on.

I need the output will be like this

Col_1new   Col_2new   Col_3new   Col_4new
    208           218          119           101

and so on. The output should be in the column format. I am looking for an awk program to do the same. If anyone help me in this regard.

Thanks in advance.

Warm regards
Fredrick.:b:

awk 'BEGIN{print "Col_1new Col_2new Col_3new Col_4new"}
NR>1 {print $2-$1,$3-$2,$4-$3,$5-$4}' urfile

or

awk 'BEGIN{print "Col_1new Col_2new Col_3new Col_4new"}
NR>1 {printf "%s\t%s\t%s\t%s\n", $2-$1,$3-$2,$4-$3,$5-$4}' urfile |sed 's/-//g'

Assuming the header lines are only for clarity:

awk '{ 
  for (i=1; i<NF; i++) 
    printf "%s", abs($i - $(i+1)) \
      (i == NF - 1 ? RS : "\t")
    }
  func abs(x) { return x < 0 ? -x : x }
  ' infile

Otherwise:

awk 'NR == 1 { 
  for (i=1; i<NF; i++) 
    printf "Col_%dnew%s", i, i == NF - 1 ? RS : "\t"
	next 
	}
{ 
  for (i=1; i<NF; i++) 
    printf "%s", abs($i - $(i+1)) (i == NF - 1 ? RS : "\t")
	}
  func abs(x) { return x < 0 ? -x : x }
  ' infile
awk 'NR > 1 { for(i = 0; ++i < NF;){x = ($i - $(i+1)) ; x = x < 0 ? -x : x ; r = r ? r "\t" x : x} print r ; r = ""}' infile