- 論壇徽章:
- 3
|
本帖最后由 tengfei0311 于 2015-09-10 21:08 編輯
我有300多個.dat的文件,第一列為每一層的厚度H,第二三列分別為速度V。
下面是一個實例文件,假如這個文件中有24層厚度值(每一行值代表一層)。
2 5.9439 3.3152
2 5.9516 3.3199
2 5.9617 3.325
2 5.9637 3.3263
2 5.9536 3.3209
2 5.9354 3.3105
2 5.9163 3.3
2 5.907 3.2947
2 5.9141 3.2988
2 5.9431 3.3147
2 6.0251 3.3607
2 6.1413 3.4255
2 6.2855 3.5061
2 6.4498 3.5977
2 6.6246 3.6952
2 6.8015 3.7936
2 6.9716 3.8885
2 7.1284 3.9761
2 7.2665 4.0532
2 7.3827 4.118
5 7.4744 4.1691
5 7.5414 4.2063
5 7.5833 4.2295
10 7.6021 4.2404
我現(xiàn)在想把第一列累加,假如我現(xiàn)在要提取深度為h=10的速度 那么就第一列前五行值相加等于10,打印文件名和第三列值3.3209
如果我要提取h=50的速度 那么就是前面22行值相加等于50,同時打印第三列4.2063
該怎么完成呢?
求h=10,打印對應(yīng)的值
code:
for File in `ls *.dat`
awk '{sum += $1, sum=10};END {print FILENAME,$3} $File >>10.txt
done
不知道這個求和等于10,50這個怎么實現(xiàn)?菜鳥求高手指教。
|
|