tr 의 기본 개념 이해하기
먼저 tr 명령어의 기본 구문을 살펴보는 것으로 시작하겠습니다.
tr [OPTION]... SET1 [SET2]
tr 명령어는 표준 입력 (stdin) 으로부터 텍스트를 읽어 지정된 옵션과 문자 집합에 따라 변환한 뒤, 그 결과를 표준 출력 (stdout) 으로 내보냅니다.
간단한 예시부터 시작해 보겠습니다. 기본적인 인사말이 담긴 greeting.txt 파일을 생성한 후, tr을 사용하여 모든 소문자를 대문자로 변환해 보겠습니다.
먼저 파일을 생성합니다.
echo "hello, world" > ~/project/greeting.txt
팁: 터미널에 파일 생성 명령어를 복사하여 붙여넣으면 정확하게 파일을 만들 수 있습니다.
이 명령어는 프로젝트 디렉토리 (~/project/) 에 "hello, world"라는 내용이 담긴 greeting.txt 파일을 새로 만듭니다.
이제 tr을 사용하여 모든 소문자를 대문자로 바꿔보겠습니다.
cat ~/project/greeting.txt | tr 'a-z' 'A-Z'
다음과 같은 결과가 출력되어야 합니다.
HELLO, WORLD
이 명령어를 분석해 보겠습니다.
cat ~/project/greeting.txt: 파일의 내용을 읽습니다.
|: 파이프 기호입니다. 왼쪽 명령어의 출력을 오른쪽 명령어의 입력으로 전달합니다.
tr 'a-z' 'A-Z': 실제 tr 명령어입니다. 첫 번째 집합 ('a-z', 모든 소문자) 의 각 문자를 두 번째 집합 ('A-Z', 모든 대문자) 의 대응하는 문자로 변환합니다.
참고로 이 명령어는 원본 파일을 수정하지 않습니다. 변환된 텍스트를 저장하려면 출력을 새 파일로 리다이렉션해야 합니다.