tr(translate)는 「문자 단위로 치환·삭제」하는 단순 도구.
sed가 「줄 패턴」이라면 tr은 「개별 글자」.
빠르고 직관적.
기본 치환.
echo "hello" | tr 'a-z' 'A-Z' — 소문자 → 대문자.
tr 'A-Z' 'a-z'로 반대.
tr ' ' '_' — 공백을 언더스코어로.
삭제.
tr -d '0-9' — 숫자 삭제.
tr -d '\n' — 개행 제거(여러 줄을 한 줄로).
tr -d '[:punct:]' — 구두점 모두 삭제.
POSIX 문자 클래스 활용.
압축(squeeze).
tr -s ' ' — 연속 공백을 하나로(squeeze repeats).
cat file | tr -s ' '으로 「여러 공백을 한 칸으로」 정리.
텍스트 정제에 자주.
주의 — 줄 단위 안 됨.
tr은 stdin을 한 글자씩 처리, 줄 단위 패턴 매칭 못 함.
복잡한 변형은 sed·awk.
tr은 「단순한 문자 치환·삭제·압축」에 최적, 복잡한 건 다른 도구로.
한 줄 요약
tr은 문자 단위 치환·삭제·압축.
대소문자 변환, 공백 정리, 개행 제거에 자주.
줄 단위 패턴은 못 함, 단순 문자 작업에 최적.
더 알아볼 것
- POSIX 문자 클래스 — [:alnum:] 등
- iconv — 인코딩 변환
- tr -c — 보집합(complement)