답변:
당신은 이것을 시도 할 수 있습니다 :
$ awk 'BEGIN{printf "%3.0f\n", 3.6}'
4
형식 옵션에는 두 부분이 있습니다.
3
: 출력은 3 자로 채워집니다..0f
: 출력에는 정밀도가 없으므로 반올림됨을 의미합니다.에서 man awk
자세한 내용을 볼 수 있습니다.
width The field should be padded to this width. The field is normally padded
with spaces. If the 0 flag has been used, it is padded with zeroes.
.prec A number that specifies the precision to use when printing. For the %e,
%E, %f and %F, formats, this specifies the number of digits you want
printed to the right of the decimal point. For the %g, and %G formats,
it specifies the maximum number of significant digits. For the %d, %o,
%i, %u, %x, and %X formats, it specifies the minimum number of digits to
print. For %s, it specifies the maximum number of characters from the
string that should be printed.
%f
형식 지정자를 사용하면 지정한대로 부동 소수점 숫자가 자동으로 반올림됩니다. 예를 들어 값을 정수로 반올림하려면
$ awk 'BEGIN { printf("%.0f\n", 1.49); }'
1
$ awk 'BEGIN { printf("%.0f\n", 1.5); }'
2
더 많은 후행 숫자를 원하면 정밀도를 변경하십시오.
BEGIN
블록에 있다면, 그렇지 않습니다. 나는 보통 몸의 표정으로 먼저 테스트를 했으므로 mea culpa. 감사합니다, @Gnouc.
/dev/null
필요?