Bash:
문자열을 소문자로 변환하기
How to: (어떻게 하나:)
# 소문자로 변환하기
my_string="Hello, World!"
lowercase_string=$(echo "$my_string" | tr '[:upper:]' '[:lower:]')
echo $lowercase_string
출력:
hello, world!
# Bash 4.0 이상 버전 본인 내장 기능 사용하기
my_string="Hello, World!"
lowercase_string="${my_string,,}"
echo $lowercase_string
출력:
hello, world!
Deep Dive (심층 분석)
초기 UNIX 시스템에서는 문자열 처리 기능이 기본적이고 제한적이었습니다. tr
명령어가 문자를 대체하는 보편적 방법으로 자리 잡았죠. Bash 4.0부터는 문자열 조작이 쉘 자체에서도 가능해져 tr
을 사용하지 않고도 소문자 변환이 가능합니다.
tr
은 간단하고 효율적이나 새로운 문법은 코드를 더 간결하게 만들어줍니다. 예를 들어, ${my_string,,}
는 $my_string
의 모든 대문자를 소문자로 바꿉니다. 반대로 ${my_string^^}
은 모든 소문자를 대문자로 변환하구요.
Bash 내장 기능의 장점은 별도의 프로세스 생성 없이 작업을 처리한다는 점입니다. tr
은 외부 프로그램 호출을 필요로 해서 상대적으로 더 느릴 수 있습니다.