awkを使用した3.016e-06形式の浮動小数点の合計

awkを使用した3.016e-06形式の浮動小数点の合計

次の形式の浮動小数点数を合計したいと思います。 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}*」にすることができます。

おすすめ記事