본질적으로 저는 다른 파일에서 많은 숫자를 가져와 유용한 방식으로 결합하는 스크립트를 실행하고 있습니다.
현재는 잘 작동하지만 잡는 숫자의 모든 숫자를 인쇄하고 있으므로(grepping? 그게 단어인가요?) 더 일찍 반올림하고 싶습니다.
주요 아이디어의 예는 다음과 같습니다.
var1=$(grep.....)
echo $var1 >> output.dat
하지만 이것은 나에게 1.235215233462345345362와 같은 것을 제공합니다. 나는 더 작은 숫자를 원합니다.
보너스 질문:
반환된 일부 숫자는 과학적 표기법으로 되어 있습니다. 이 상황을 바꿀 수 있는 방법이 있나요?
SSH 퍼티
게시자 ID: RedHatEnterpriseServer 설명: Red Hat Enterprise Linux Server 버전 6.5(San Diego) 버전: 6.5 코드명: San Diego
답변1
에코 대신 printf를 사용하십시오.
$ echo "$a"
1.235215233462345345362
$ LC_ALL=C printf '%.1f\n' "$a"
1.2
$ LC_ALL=C printf '%.3f\n' "$a"
1.235
( 이는 사용자의 로케일(있을 수 있는 위치)에 관계없이 LC_ALL=C
소수점이 항상 입력 및 출력에 존재하도록 하기 위한 것입니다 .).
,