간단한 예는 다음과 같습니다.
echo "36974820" | awk '{print "("$1 " KB)" " (" $1/1024 " MB)" " (" $1/1024/1024 " GB)\n"}'
산출:
(36974820 KB) (36108.2 MB) (35.2619 GB)
내가 원하는 것은 다음과 같습니다.
(36974820 KB) (36108.2 MB) (35.26 GB)
다음은 단독으로 사용할 수 있다는 것을 알고 있습니다.
echo "5.5434" | awk '{printf "%.2f\n", $1}'
출력은 다음과 같습니다
5.54
위의 내용을 awk와 결합하여 소수점 이하 두 번째 자리로 반올림하는 계산을 수행하고 싶습니다.
답변1
(적어도 GNU awk) printf
대신 직접 사용할 수 있습니다 print
.awk
user@host $ echo "36974820" | awk '{printf("(%d kB) (%.2f MB) (%.2f GB)\n", $1, $1/1024, $1/1024/1024)}'
(36974820 kB) (36108.22 MB) (35.26 GB)