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}*"가 될 수 있습니다.

관련 정보