我有三个文件!
coord.xvg
veloc.xvg
force.xvg
这些文件中的每一个都有多个数字的行让我们说 10000 我想构建一个脚本
打开三个文件读取列并对每一行进行算术运算。
例如
if every file has 4 words
coord.xvg >> Time x y z
veloc.xvg >> Time vx vy vz
force.xvg >> Time fx fy fz
c,v,f 代表 coord.xvg, veloc.xvg,force.xvg
if I write the operation 2*v*v+c*f*c the output should be
column1 Column2 Column3 Column4
Time 2*vx*vx+cx*fx*cx 2*vy*vy+cy*fy*cy 2*vz*vz+cz*fz*cz
我在互联网上找到了以下内容
awk '{
{ getline < "coord.xvg" ; if (FNR==90307) for(i=1;i<=2;i+=1) c=$i}
{ getline < "veloc.xvg" ; if (FNR==90307) for(i=1;i<=2;i+=1) v=$i}
{ getline < "force.xvg" ; if (FNR==90307) for(i=1;i<=2;i+=1) f=$i}
}
END {print c+v+f}' coord.xvg
它代表我想在 90307 行之后开始阅读的文件。
但它对我没有多大帮助,因为它只返回每个变量的最后一个值
任何想法??