使用awk划分两个元素

时间:2017-09-19 17:20:05

标签: bash awk

我想使用awk:(Element2-Element1)/ Element1

进行以下计算

元素1位置:列x,行j

元素2位置:列x,行i

令x = 1,j = 2,i = 6

输入:

0
2
7
2
3
3

所需的输出:

0.5

我不知道如何在AWK脚本中更改FNR并打开awk进程只是为了读取每个元素然后使用另一个awk将它们分开并不感觉良好。

提前致谢!

2 个答案:

答案 0 :(得分:1)

您可以使用此awk命令:

awk -v x=1 -v j=2 -v i=6 'NR==j{e1=$x} NR==i{e2=$x} END{if (el) print (e2-e1)/e1}' file

0.5

答案 1 :(得分:1)

  

j 不会超过

awk 解决方案:

awk 'BEGIN{ x=1; j=2; i=6 }NR==j{ el1=$x }NR==i{ print ($x-el1)/el1; exit }' file
0.5