
이동 거리의 합을 계산하려고 하는데 텍스트 파일에 완벽하게 계산되어 있습니다. 단, 결과는 소수점 이하 4자리에서 반올림됩니다.
예를 들어 거리 로그에서 10.1361234 및 10.1461621미터를 추가하려고 할 때마다 원래 결과인 20.2822855를 표시하는 대신 결과가 아래와 같이 반올림됩니다.
총거리.txt
2021-04-09 13:44:26 Total distance: 20.2823 meters
거리로그.txt
2021-04-09 12:31:55 Distance travelled: 10.1361234 meters
2021-04-09 12:31:55 Distance travelled: 10.1461621 meters
하지만 반올림하지 않고 원래의 소수점 값을 유지하고 싶었습니다. 그것을 할 수 있는 방법이 있나요? 아래에 첨부된 코드는 내 코드입니다.
#!/bin/bash
SUM=0;
<DistanceLog.txt >> totaldistance.txt awk '{ SUM+=$6 } END{ print date_time,echo"Total distance:", SUM,distance }' date_time="$(date +'%F %T')" distance="meters"
감사합니다!
답변1
을 살펴보면앗매뉴얼 페이지, 기본값앗 OFMT
%.6g
(6은 유효 자릿수를 지정함) 입니다 . .6f
소수점 이하 자릿수를 지정하거나 %f
제한 없이 지정하도록 변경할 수 있습니다 . 그래서:
<infile >>outfile awk '{ SUM+=$5 }
END{ OFMT="%.6f"; print date_time, "Total distance:", SUM, distance }' \
date_time="$(date +'%F %T')" distance="meters"