> 텍스트 처리 및 검색 > tr

tr: 문자 변환 및 삭제 필터

tr 명령어는 표준 입력(stdin)으로 받은 텍스트의 문자를 변환하거나 삭제하는 데 사용되는 필터(filter) 명령어입니다. 주로 파이프(|)와 함께 사용하여 다른 명령어의 출력 결과를 처리할 때 유용합니다.

개요

tr(translate)은 이름 그대로 문자를 '번역'하거나 '치환'하는 역할을 합니다. 예를 들어, 소문자를 대문자로 바꾸거나, 특정 문자를 다른 문자로 바꾸거나, 줄바꿈 문자를 공백으로 바꾸는 등 문자 단위의 간단한 변환 작업에 특화되어 있습니다. `sed`나 `awk`가 줄 단위의 복잡한 패턴 매칭을 지원하는 것과 달리, `tr`은 문자 단위의 처리가 매우 빠르고 효율적입니다.

주요 특징

tr 명령어의 주요 특징은 다음과 같습니다.

  • 문자 단위로 텍스트를 변환하거나 삭제합니다.
  • 표준 입력(stdin)을 통해서만 데이터를 받습니다.
  • 정규표현식(regular expression)을 사용하지 않습니다.
  • 파이프(`|`)와 함께 사용하여 다른 명령어의 출력 결과를 가공하는 데 널리 사용됩니다.

tr의 기본 문법

tr 명령어는 기본적으로 두 개의 문자열(set)을 인자로 받습니다.

  • `tr 'set1' 'set2'`: `set1`에 있는 문자를 `set2`에 있는 문자로 1:1 대응하여 변환합니다.
  • `tr -d 'set1'`: `set1`에 있는 모든 문자를 삭제합니다.

주요 옵션

자주 사용하는 tr 명령어의 옵션을 목적에 따라 그룹화했습니다.

1) 기능 옵션

2) 특수 문자 & 집합

생성된 명령어:

명령어를 조합해 보세요.

설명:

`tr` 명령어를 실행합니다.

위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.

사용 예시

tr 명령어의 다양한 사용 예시를 통해 기능을 익혀보세요.

소문자를 대문자로 변환

echo 'hello world' | tr '[:lower:]' '[:upper:]'

표준 입력으로 받은 소문자를 대문자로 변환하여 출력합니다.

특정 문자 삭제

echo 'hello   world' | tr -d ' '

텍스트에서 모든 공백(` `)을 삭제합니다.

줄바꿈을 공백으로 변환

cat file.txt | tr '\n' ' '

파일 내용의 줄바꿈(`\n`) 문자를 공백(` `)으로 변환하여 한 줄로 출력합니다.

중복 공백 압축

echo 'hello     world' | tr -s ' '

연속적으로 반복되는 공백을 하나의 공백으로 압축합니다. `-s` 옵션은 중복 문자열을 압축하는 기능을 수행합니다.

대문자를 소문자로 변환

echo 'HELLO WORLD' | tr 'A-Z' 'a-z'

표준 입력으로 받은 대문자를 소문자로 변환하여 출력합니다.

팁 & 주의사항

tr 명령어 사용 시 유의할 점들을 정리했습니다.

  • tr은 파일명을 직접 인자로 받지 않습니다. 반드시 `cat`이나 `echo`와 같은 명령어를 통해 표준 입력으로 텍스트를 전달해야 합니다.
  • 문자열을 인자로 넘길 때 작은따옴표(`'`)를 사용하여 셸이 특수 문자를 해석하지 않도록 하는 것이 좋습니다.
  • `tr`은 `sed`나 `awk`에 비해 기능은 단순하지만, 문자 단위의 변환 작업에서는 훨씬 빠르다는 장점이 있습니다.

관련 명령어

기능적으로 유사하거나 함께 자주쓰이는 명령어들입니다.


동일 카테고리 명령어