我有64个文件,每个文件名如下:
diffusion-isomalto-thermo1.dat_x.xmgr
diffusion-isomalto-thermo2.dat_x.xmgr
diffusion-isomalto-thermo3.dat_x.xmgr
diffusion-isomalto-thermo4.dat_x.xmgr
.
.
diffusion-isomalto-thermo64.dat_x.xmgr
每个文件包含以下格式的两列数据:
5.000 1.047
10.000 1.107
15.000 1.211
20.000 1.083
25.000 1.166
30.000 1.368
35.000 1.179
40.000 1.307
45.000 0.985
50.000 0.954
包含50,000行数据。
我想要的是所有文件(64个文件)中所有第一行第二列的平均值,接下来是所有文件中第二行第二列的平均值。
对此有什么好处?
答案 0 :(得分:2)
使用GNU awk
:
awk 'FNR==1{a+=$2;next}{b+=$2;close(FILENAME);nextfile}END{print a,b}' diffusion*
假设diffusion*
的全局变量只能获取您想要的64个文件。如果不使用像diffusion-isomalto-thermo*.dat_x.xmgr
那样严格的东西。