awk:通过跟随偶数列来划分奇数列

时间:2014-10-12 21:35:43

标签: awk

我希望将文件中的所有奇数列除以下一个偶数列,例如column1 / column2,column3 / column4,......,columnN / columnN + 1

test1.txt的

1 4 1 2 1 3    
1 2 4 2 3 9

期望的输出

0.25 0.5 0.333
0.5 2 0.333

我试过了:

awk 'BEGIN{OFS="\t"} { for (i=2; i<NF+2; i+=2) printf $(i-1)/i OFS; printf "\n"}'

但它没有用。

我想补充一点,我的实际文件有一个非常大且可变(但总是偶数)的列数,我想要一些适用于所有列的东西。

1 个答案:

答案 0 :(得分:1)

awk '{for(i=1;i<NF;i+=2)printf "%f%s",$i/$(i+1),OFS;print "";}' input.txt

输出:

0.250000 0.500000 0.333333 
0.500000 2.000000 0.333333

您可以根据需要调整打印格式,请参阅here了解详情。