Computer >> 컴퓨터 >  >> 프로그래밍 >> Bash 프로그래밍

리눅스 터미널 산술 연산 완벽 가이드: 반드시 알아야 할 5가지 방법

이 글에서는 리눅스 터미널에서 산술 연산을 수행하는 다양하고 유용한 방법을 소개합니다. 글을 끝까지 읽고 나면 명령줄에서 수학 계산을 처리할 수 있는 실용적인 여러 가지 방법을 익히게 될 것입니다.

그럼 바로 시작해 보겠습니다!

1. Bash 쉘 활용하기

리눅스 CLI에서 기본적인 수학 연산을 하는 가장 간단한 첫 번째 방법은 이중 괄호(( ))를 사용하는 것입니다. 변수에 저장된 값을 활용하는 예제는 아래와 같습니다.

$ ADD=$(( 1 + 2 ))
$ echo $ADD
$ MUL=$(( $ADD * 5 ))
$ echo $MUL
$ SUB=$(( $MUL - 5 ))
$ echo $SUB
$ DIV=$(( $SUB / 2 ))
$ echo $DIV
$ MOD=$(( $DIV % 2 ))
$ echo $MOD
리눅스 터미널 산술 연산 완벽 가이드: 반드시 알아야 할 5가지 방법

Bash 쉘에서의 산술 연산

2. expr 명령어 활용하기

expr 명령어는 표현식을 평가하고 그 결과값을 표준 출력으로 출력하는 도구입니다. 이 섹션에서는 expr을 활용해 간단한 수학 계산, 값 비교, 변수 증가, 문자열 길이 구하기 등을 수행하는 다양한 방법을 살펴봅니다.

expr 명령어로 간단한 계산을 수행하는 예제는 다음과 같습니다. 참고로 많은 연산자는 셸에서 특수 문자로 해석되기 때문에 이스케이프하거나 따옴표로 감싸야 합니다. 대표적으로 곱셈 연산자 *가 그렇습니다.

$ expr 3 + 5
$ expr 15 % 3
$ expr 5 \* 3
$ expr 5 – 3
$ expr 20 / 4
리눅스 터미널 산술 연산 완벽 가이드: 반드시 알아야 할 5가지 방법

expr 명령어로 기본 산술 연산 수행하기

다음으로 비교 연산 방법을 알아보겠습니다. 표현식이 거짓으로 평가되면 expr은 0을 출력하고, 참이면 1을 출력합니다.

몇 가지 예제를 확인해 보세요.

$ expr 5 = 3
$ expr 5 = 5
$ expr 8 != 5
$ expr 8 \> 5
$ expr 8 \< 5
$ expr 8 \<= 5
리눅스 터미널 산술 연산 완벽 가이드: 반드시 알아야 할 5가지 방법

리눅스에서 산술 표현식 비교하기

expr 명령어로 변수 값을 증가시킬 수도 있습니다. 아래 예제를 확인해 보세요(같은 방식으로 변수 값을 감소시키는 것도 가능합니다).

$ NUM=$(( 1 + 2))
$ echo $NUM
$ NUM=$(expr $NUM + 2)
$ echo $NUM
리눅스 터미널 산술 연산 완벽 가이드: 반드시 알아야 할 5가지 방법

변수 값 증가시키기

또한 다음과 같이 문자열의 길이를 구하는 데에도 활용할 수 있습니다.

$ expr length "This is Tecmint.com"
리눅스 터미널 산술 연산 완벽 가이드: 반드시 알아야 할 5가지 방법

문자열 길이 구하기

위 연산자들의 의미를 포함한 더 자세한 정보는 expr 매뉴얼 페이지를 참고하세요.

$ man expr

3. bc 명령어 활용하기

bc(Basic Calculator)는 일반 공학용 또는 금융용 계산기에서 기대할 수 있는 모든 기능을 제공하는 명령줄 유틸리티입니다. 특히 부동소수점 연산에 매우 유용합니다.

bc 명령어가 설치되어 있지 않다면 다음 명령으로 설치할 수 있습니다.

$ sudo apt install bc #Debian/Ubuntu
$ sudo yum install bc #RHEL/CentOS
$ sudo dnf install bc #Fedora 22+

설치가 완료되면 대화형 모드로 실행하거나 인자를 전달해 비대화형으로 실행할 수 있습니다. 두 가지 방식을 모두 살펴보겠습니다. 대화형 모드로 실행하려면 명령 프롬프트에 bc를 입력하고 아래와 같이 바로 계산을 시작하면 됩니다.

$ bc 
리눅스 터미널 산술 연산 완벽 가이드: 반드시 알아야 할 5가지 방법

bc를 대화형 모드로 실행하기

다음 예제들은 명령줄에서 bc를 비대화형으로 사용하는 방법을 보여줍니다.

$ echo '3+5' | bc
$ echo '15 % 2' | bc
$ echo '15 / 2' | bc
$ echo '(6 * 2) - 5' | bc
리눅스 터미널 산술 연산 완벽 가이드: 반드시 알아야 할 5가지 방법

리눅스에서 bc로 수학 계산 수행하기

-l 플래그를 사용하면 기본 소수점 자릿수(scale)가 20으로 설정됩니다. 예제는 아래와 같습니다.

$ echo '12/5' | bc
$ echo '12/5' | bc -l
리눅스 터미널 산술 연산 완벽 가이드: 반드시 알아야 할 5가지 방법

부동소수점 숫자로 계산하기

4. Awk 명령어 활용하기

Awk는 GNU/Linux에서 가장 강력한 텍스트 처리 프로그램 중 하나입니다. 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 등 모든 산술 연산자를 지원하며, 부동소수점 연산에도 활용할 수 있습니다.

아래와 같이 기본적인 수학 연산에 사용할 수 있습니다.

$ awk 'BEGIN { a = 6; b = 2; print "(a + b) = ", (a + b) }'
$ awk 'BEGIN { a = 6; b = 2; print "(a - b) = ", (a - b) }'
$ awk 'BEGIN { a = 6; b = 2; print "(a * b) = ", (a * b) }'
$ awk 'BEGIN { a = 6; b = 2; print "(a / b) = ", (a / b) }'
$ awk 'BEGIN { a = 6; b = 2; print "(a % b) = ", (a % b) }'
리눅스 터미널 산술 연산 완벽 가이드: 반드시 알아야 할 5가지 방법

Awk 명령어로 기본 수학 연산 수행하기

Awk가 처음이라면, 학습을 시작하는 데 도움이 되는 완전한 가이드 시리즈(Awk 텍스트 처리 도구 배우기)를 준비해 두었으니 참고하세요.

5. factor 명령어 활용하기

factor 명령어는 정수를 소인수분해하는 데 사용됩니다. 예제는 다음과 같습니다.

$ factor 10
$ factor 127
$ factor 222
$ factor 110 
리눅스 터미널 산술 연산 완벽 가이드: 반드시 알아야 할 5가지 방법

리눅스에서 숫자 소인수분해하기

여기까지입니다! 이 글에서는 리눅스 터미널에서 산술 연산을 수행하는 다양하고 유용한 방법들을 살펴보았습니다. 이 글에 대해 궁금한 점이 있거나 의견을 나누고 싶다면 아래 피드백 폼을 통해 언제든지 문의해 주세요.