我想对以下形式的浮点数求和: 3.016e-06 浮点数保存在名为 S_3x3.txt S_4x4.txt ... S_8x8.txt 我的代码仅对第一个整数求和。它计算的是 3 + 4,而不是 3.016e-06 + 4.022e-06。我该如何解决这个问题?
x=3
while [ $x -le 8 ]
do
find . -name "S_$((x))x$((x))*" -print | sort -t'_' -nk3 |
xargs -J {} awk -F' ' 'FNR == 1 && !/^($|#)/{ sum+=$1) }END{
print sum }' {} >> cS_CPU.txt
x=$(( x+1 ))
done
答案1
不是答案,但评论太长
x=3
while [ $x -le 8 ]
do
find . -name "S_${x}x${x}*" -print | sort -t'_' -nk3 |
xargs -J {} awk 'FNR == 1 && !/^($|#)/ { sum+=$1) }
END{ print sum }' {} >> cS_CPU.txt
x=$(( x+1 ))
done
- 需要
-F' '
? awk 将按空格分隔字段 "S_$((x))x$((x))*"
?可以变成“S_${x}x${x}*”。