Bash에서 문자열을 정수로 변환
- 문자열에 대한 수학 연산
-
expr
명령을 사용하여 문자열을 정수로 변환 -
이중 괄호
((...))
구성을 사용하여 문자열을 정수로 변환 -
기본 계산기(
bc
) 명령을 사용하여 문자열을 정수로 변환 -
awk
명령을 사용하여 문자열을 정수로 변환 -
perl...print
또는perl...say
를 사용하여 문자열을 정수로 변환 - Python을 사용하여 문자열을 정수로 변환
이 튜토리얼에서는 Bash 스크립트에서 문자열을 정수로 변환하는 방법에 대해 설명합니다. 먼저 문자열에 대한 수학 연산 문제를 논의한 다음 문자열을 정수로 변환하는 방법을 살펴봅니다.
문자열에 대한 수학 연산
이 간단한 코드로 토론을 시작하겠습니다.
x_value=1000
y_value=20
echo $x_value+$y_value
이 코드의 출력은 예상치 못한 것일 수 있습니다. 출력 참조:
1000+20
echo
명령은 변수 x_value
값을 더하기 기호 및 변수 y_value
와 연결합니다. 아마도 당신은 이 결과를 얻는 데 관심이 없었을 것입니다. 오히려 출력으로 1020
을 예상했습니다.
문제를 논의한 후 문제를 피하고 원하는 결과를 얻을 수 있는 방법을 살펴보겠습니다.
expr
명령을 사용하여 문자열을 정수로 변환
이 명령은 표현식을 평가하고 결과를 얻는 데 사용됩니다. 예를 들어:
$ expr 12 - 8
이 명령의 출력은 4
입니다. 이 명령을 사용하여 필요한 결과를 얻을 수 있습니다.
x_value=1000
y_value=20
expr $x_value + $y_value
이 스크립트의 출력은 1020
입니다. 그러나 변수와 연산자 사이에는 공백이 필요합니다. 그렇지 않으면 이 명령도 연결을 수행하며 결과는 동일합니다.
참고: 피연산자와 연산자 사이에 적절한 간격을 추가해야 합니다.
expr
이 각 토큰을 개별적으로 인식하는 것이 더 쉬워집니다.
이중 괄호 ((...))
구성을 사용하여 문자열을 정수로 변환
이중 괄호 생성자 (( ... ))
는 산술 확장 및 평가를 허용합니다. 예를 들어 x_value=$(( 6 - 2 ))
는 x_value
를 4
로 설정합니다. 이 구성을 사용하여 필요한 결과를 얻을 수 있습니다.
예제 스크립트를 살펴보겠습니다.
x_value=1000
y_value=20
echo $(( x_value * y_value ))
이 스크립트의 출력은 20000
입니다.
기본 계산기(bc
) 명령을 사용하여 문자열을 정수로 변환
Bash에서 기본 계산기(bc
)는 Bash 명령 인터페이스에서 직접 기본 산술 계산을 수행하는 데 사용됩니다.
예를 들어 다음과 같이 작성할 수 있습니다.
$ echo "12-4" | bc
출력은 8
입니다. 이 기본 계산기를 사용하여 필요한 결과를 얻을 수 있습니다.
bc
를 사용하여 원래 문제를 해결하는 코드는 다음과 같습니다.
x_value=1000
y_value=20
echo $x_value-$y_value | bc
출력은 980
입니다. 이 식에서는 expr
명령에서 필수였던 것처럼 공백이 필요하지 않습니다.
awk
명령을 사용하여 문자열을 정수로 변환
awk
는 사용자가 변수, 숫자 함수, 문자열 함수 및 논리 연산자를 포함하는 형식이 지정된 표현식을 인쇄할 수 있도록 하는 미리 컴파일된 명령입니다. 이 명령을 다양한 방법으로 사용할 수 있습니다.
예를 들어, 형식이 지정된 숫자 계산으로 일부 메시지를 인쇄하려는 경우 다음과 같이 awk
명령과 함께 echo
명령을 사용할 수 있습니다.
$ echo salary= 40000 10 | awk '{print $1 $2+$2*$3/100}'
이 명령에서는 급여에 10%의 보너스가 포함된 급여를 인쇄하려고 합니다. 여기서 salary=
는 첫 번째 매개변수입니다. $1
을 작성하여 사용했습니다.
마찬가지로 40000
은 $2
를 작성하여 사용되는 두 번째 매개변수입니다. 유사하게 $3
은 세 번째 매개변수(예: 10
)의 자리 표시자입니다.
이 명령의 출력은 다음과 같습니다.
salary=44000
awk
명령을 사용하여 원래 문제를 다음과 같이 해결할 수 있습니다.
x_value=1000
y_value=20
echo $x_value $y_value | awk '{print $1 + $2}'
출력은 1020
이며 x
와 y
는 awk
명령에서 수신한 두 개의 매개변수입니다. 그에 따라 계산이 수행됩니다.
perl...print
또는 perl...say
를 사용하여 문자열을 정수로 변환
perl
명령에는 print
또는 say
옵션이 있습니다. print
와 say
의 차이점은 print
가 줄을 공급하지 않고 다음 출력이 같은 줄에 나오는 반면 say
명령은 줄을 공급한다는 것입니다.
예를 들어:
x_value = 5
perl -E "print $x_value"
echo "*"
perl -E "say $x_value"
echo "*"
출력은 다음과 같습니다.
5*5
*
두 번째 별표는 print
대신 say
에 의한 줄 바꿈으로 인해 다음 줄에 인쇄됩니다.
따라서 perl
을 print
또는 say
와 함께 사용하여 필요한 출력을 얻을 수 있습니다.
x_value=1000
y_value=20
perl -E "print $x_value+$y_value"
출력은 1020
입니다.
Python을 사용하여 문자열을 정수로 변환
Python에는 표현식을 평가하고 인쇄할 수 있는 print
문이 있습니다.
예를 들어:
python -c "print 5 * 4"
출력은 20
입니다. 이를 사용하여 필요한 결과를 얻을 수 있습니다.
코드는 다음과 같습니다.
x_value=1000
y_value=20
python -c "print $x_value * $y_value"
출력은 20000
입니다.
문자열을 정수 변수로 변환하여 수학 연산을 수행하는 다양한 방법이 있습니다. 여기에서는 여섯 가지 방법을 제시했으며 원하는 대로 사용할 수 있습니다.