스크립트에서 변수의 비트 수를 선택하는 방법은 무엇입니까?

스크립트에서 변수의 비트 수를 선택하는 방법은 무엇입니까?

본질적으로 저는 다른 파일에서 많은 숫자를 가져와 유용한 방식으로 결합하는 스크립트를 실행하고 있습니다.

현재는 잘 작동하지만 잡는 숫자의 모든 숫자를 인쇄하고 있으므로(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소수점이 항상 입력 및 출력에 존재하도록 하기 위한 것입니다 .).,

관련 정보