반달가면 이글루에서 백업 - http://bahndal.egloos.com/575868
bc를 이용해서 자연수 나눗셈을 할 때, 결과값은 나눈 몫의 자연수 부분이 되고 소수점 부분은 버려지게 된다. (bc를 이용한 산수 계산에 대한 좀 더 자세한 내용은 이전 게시물을 참고하자. 여기로)
echo "10/3" | bc
3
만약 소수점 부분에 대해 올림이나 반올림을 적용하고 싶다면 아래과 같이 변형시켜서 계산하면 되겠다.
먼저 올림부터 보자. 변수 a와 b에 자연수가 할당되어 잇고 a/b를 계산하고자 한다면 a 대신에 (a+b-1)을 사용해서 계산하면 된다. 아래의 예시를 보자.
# 올림
a=10
b=3
echo "($a+$b-1)/$b" | bc
4
이번엔 반올림(소수점 부분이 0.5 이상이면 올림, 0.5 미만이면 버림)이다. a/b를 계산할 때 반올림을 적용하고 싶다면 a 대신에 (a+b/2)를 사용해서 계산한다.
# 반올림
a=10
b=3
echo "($a+$b/2)/$b" | bc
3
728x90
'bash script' 카테고리의 다른 글
[bash: xargs] 앞 명령어의 출력 결과를 다음 명령어의 인자(argument)로 사용하기 (0) | 2023.07.06 |
---|---|
[bash: uniq] 중복되는 행 또는 중복되지 않는 행만 골라서 출력하기 (0) | 2023.07.06 |
[bash: grep] 탭(tab)이 포함된 문자열 검색 (0) | 2023.07.04 |
[bash: grep] 문자열 검색하면서 행번호 같이 표시하기 (0) | 2023.07.03 |
[bash: grep] 정규표현식에 사용되는 특수문자 (0) | 2023.07.03 |