대/소문자를 어떻게 변경할 수 있나요?(소문자에서 대문자로 또는 그 반대로) 동시에

대/소문자를 어떻게 변경할 수 있나요?(소문자에서 대문자로 또는 그 반대로) 동시에

입력

   > a='Vikas'
   > echo $a
    Vikas

내 필수 출력은

echo $a | <some command>

vIKAS

답변1

$ echo Vikas | LC_ALL=C tr a-zA-Z A-Za-z
vIKAS

이 유틸리티는 tr문자를 번역합니다. 문자 집합을 나타내는 두 개의 인수를 사용합니다. 그런 다음 첫 번째 세트에서 발견된 각 문자를 두 번째 세트의 해당 문자로 대체하여 표준 입력을 표준 출력에 복사합니다. 이 응용 프로그램에서는 소문자를 대문자로 바꾸거나 그 반대로 바꿉니다. 참조tr(1)의 매뉴얼 페이지자세한 내용 및 수행할 수 있는 기타 처리에 대해 알아보세요 tr.

답변2

다음과 같이 [:upper:] 및 [:lower:] 옵션과 함께 tr 명령을 사용할 수 있습니다.

echo "aBcDeF" |tr '[:upper:][:lower:]' '[:lower:][:upper:]'
AbCdEf

또한 다음과 같이 sed 명령('스트림 편집기'를 나타냄)을 사용할 수도 있습니다.

echo "abcd ABCD" |sed 'y/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/'

sed는 유연성이 더 뛰어나므로 모든 문자 매핑을 정의할 수 있습니다. 예를 들어 다음 명령을 사용하면 숫자를 해커 문자로 변환할 수 있습니다.

echo "52065218802365" |sed 'y/0123456789/OIZEhSGLBP/'
SZOGSZIBBOZEGS

(문자 매핑 참조)

관련 정보