Linux 콘솔에서 어떻게 나누나요?
나는 변수가 있어야하고 하나를 다른 것으로 나눈 값을 찾고 싶습니다. 이 작업을 수행하려면 어떤 명령을 사용해야합니까?
bash 셸에서 산술 표현식을 $(( ... ))
$ echo $(( 7 / 3 ))
2
나는 당신이 정수로 제한되어 있다고 생각하지만.
echo 5/2 | bc -l
2.50000000000000000000
'bc'의이 '-l'옵션은 부동 결과를 허용합니다.
더 나은 방법은 임의 정밀도 계산기 인 "bc"를 사용하는 것입니다.
variable=$(echo "OPTIONS; OPERATIONS" | bc)
전의:
my_var=$(echo "scale=5; $temp_var/100 + $temp_var2" | bc)
여기서 "scale = 5"는 정확도입니다.
man bc
몇 가지 사용 예가 함께 제공됩니다.
여전히 RPN 계산기 인 dc 사용을 선호 하므로 67을 4 자리 정밀도로 18로 나누는 빠른 세션은 다음과 같습니다.
>dc
4k
67
18/p
3.7222
q
>
분명히, 훨씬 더 많은 것을 사용할 수 있습니다 : man dc
데이터 추출을 위해 설계된 유틸리티 / 언어 인 awk 를 사용할 수 있습니다.
예 : 1.2 / 3.4
>echo 1.2 3.4 | awk '{ print $2/$1 }'
0.352941
bash에서 부서에 소수가 필요하지 않으면 다음을 수행 할 수 있습니다.
>echo $((5+6))
11
>echo $((10/2))
5
>echo $((10/3))
3
Linux 콘솔에서 Bash 를 의미 한다고 가정합니다 .
만약 X및 Y당신의 변수입니다 $(($X / $Y))당신이 무엇을 물어 돌아갑니다.
bash를 사용하여 $ a를 $ b로 나누는 정수 나누기의 예 :
echo $((a/b))
레이트 레이싱의 답변을 사용하여 할 수있는 다른 작업. 백틱을 사용하는 다른 쉘 호출의 stdout을 사용하여 계산을 수행 할 수 있습니다. 예를 들어 몇 개의 파일에서 상위 100 개 행의 파일 크기를 알고 싶었습니다. 원래 크기 wc -c는 바이트 단위입니다. 킬로바이트를 알고 싶습니다. 내가 한 일은 다음과 같습니다.
echo `cat * | head -n 100 | wc -c` / 1024 | bc -l
다음을 사용해야합니다.
echo "scale=4;$variablename/3"|bc
perl -e를 사용할 수도 있습니다.
perl -e 'print 67/8'
나도 같은 문제가 있었다. 정수를 나누는 것은 쉽지만 십진수는 그렇게 쉽지 않습니다. 3.14와 2.35와 같은 2 개의 숫자가 있고 숫자를 나누면 코드는 Division = echo 3.14 / 2.35 | bcecho "$ Division"이됩니다. 따옴표는 다릅니다. 혼동하지 마십시오. 키보드의 esc 버튼 바로 아래에 있습니다. 유일한 차이점은 | bc 및 여기에서도 echo는 인쇄 대신 산술 계산을위한 연산자로 작동합니다. 그래서 값을 인쇄하기 위해 echo "$ Division"을 추가했습니다. 그것이 당신을 위해 작동하는지 알려주십시오. 감사합니다.
참고 URL : https://stackoverflow.com/questions/1088098/how-do-i-divide-in-the-linux-console
'Program Club' 카테고리의 다른 글
| 시뮬레이션 된 사용자 입력을 사용한 JUnit 테스트 (0) | 2020.11.01 |
|---|---|
| Maven pom을 사용하여 jar 파일을 특정 디렉토리에만 다운로드하는 방법은 무엇입니까? (0) | 2020.11.01 |
| 새 엔터티 스칼라를 추가 할 때 Entity Framework 4 매핑 조각 오류 (0) | 2020.10.31 |
| Eclipse Kepler에서 코드 지원 (ctrl + space)이 작동하지 않습니다. (0) | 2020.10.31 |
| Visual Studio 2013에서 Sass를 사용하는 방법 (0) | 2020.10.31 |