대/소문자를 어떻게 변경합니까(아래에서 위로 또는 그 반대로)? 동시에 [반복]

대/소문자를 어떻게 변경합니까(아래에서 위로 또는 그 반대로)? 동시에 [반복]

입력하다

   > 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

(문자 매핑 참고)

관련 정보