파일의 모든 숫자를 반올림하는 방법은 무엇입니까?

파일의 모든 숫자를 반올림하는 방법은 무엇입니까?

파일의 모든 숫자를 특정 정밀도로 반올림하려면 어떻게 해야 합니까? awk로 할 수 있나요?

한 줄은 다음과 같습니다.

text - 0.1655456615 - 0.158645 - 0.846554 - 0.85251 ##

편집: "-"는 열 구분 기호입니다.

답변1

다음을 사용하면 더 쉽습니다 perl.

perl -pe 's/[-+]?\d*(?:\.?\d|\d\.)\d*(?:[eE][-+]?\d+)?/sprintf("%.2g",$&)/ge'

답변2

awk만 사용할 수 있는 경우:

awk '{
    while (match($0, /[0-9]+\.[0-9]+/)) {
        printf "%s%.2f", substr($0, 1, RSTART-1), substr($0, RSTART, RLENGTH)
        $0 = substr($0, RSTART+RLENGTH)
    }
    print
}'

관련 정보