次の形式の浮動小数点数を合計したいと思います。 3.016e-06 浮動小数点数は S_3x3.txt S_4x4.txt...S_8x8.txt というファイルに保存されます。私のコードでは、最初の整数だけを合計します。 3.016e-06 + 4.022e-06ではなく、3 + 4を計算します。この問題をどのように解決できますか?
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}*」にすることができます。