Linux 查找列中字段的平均值
我有一个这样的输入文件,在这个文件中,每一列都由制表符分隔Linux 查找列中字段的平均值,linux,awk,Linux,Awk,我有一个这样的输入文件,在这个文件中,每一列都由制表符分隔 22 2222 . T C . . ;AA=1;AFE=1;ASNE=1;EUN=1;AFW=1;MED=1;LAT=1; 22 222 . T C . . ;AA=2;AFE=2;ASNE=2;EUN=2;AFW=2;MED=2;LAT=2; 我需要如下输出 22 2222 . T C . . ;AA=1;AFE=1;ASNE=1;EUN=1;AFW=1;MED=1;LAT=
22 2222 . T C . . ;AA=1;AFE=1;ASNE=1;EUN=1;AFW=1;MED=1;LAT=1;
22 222 . T C . . ;AA=2;AFE=2;ASNE=2;EUN=2;AFW=2;MED=2;LAT=2;
我需要如下输出
22 2222 . T C . . ;AA=1;AFE=1;ASNE=1;EUN=1;AFW=1;MED=1;LAT=1;AVG=1;
22 222 . T C . . ;AA=2;AFE=2;ASNE=2;EUN=2;AFW=2;MED=2;LAT=2;AVG=2;
其中AVG是第8列中所有字段的平均值。这里是正在进行的:
awk '{c=0;for(i=2;i<=NF;i++){split($i,d,"=");c+=d[2]}$NF="AVG="c/(NF-2)FS}1' FS=';' OFS=';' file
22 2222 . T C . . ;AA=1;AFE=1;ASNE=1;EUN=1;AFW=1;MED=1;LAT=1;AVG=1;
22 222 . T C . . ;AA=2;AFE=2;ASNE=2;EUN=2;AFW=2;MED=2;LAT=2;AVG=2;
awk'{c=0;for(i=2;i