명령어/Linux

[리눅스] tr 문자 치환 삭제 대소문자 변환

jykim23 2026. 7. 9. 10:34
반응형

부제: 대소문자·줄바꿈·공백 같은 문자를 바꾸거나 지우기

echo hello | tr 'a-z' 'A-Z'   # 대문자로
tr -d '\r' < win.txt          # CR 제거 (CRLF → LF)
tr -s ' ' < messy.txt         # 연속 공백을 하나로
$ echo "hello world" | tr 'a-z' 'A-Z'
HELLO WORLD

tr은 문자 단위로 바꾸거나(set1set2), 지우거나(-d), 연속 반복을
하나로 줄인다(-s). 파일 인자가 아니라 표준입력을 받으므로 파이프·리다이렉션과 함께 쓴다.

이렇게도 쓴다

윈도우 줄바꿈(CRLF)을 유닉스(LF)로 바꾼다.

tr -d '\r' < win.txt > unix.txt

 

콤마를 줄바꿈으로 바꿔 한 줄을 세로로 편다.

echo 'a,b,c' | tr ',' '\n'

 

숫자만 남기고 나머지를 지운다(-c는 여집합).

echo 'id=1234abc' | tr -cd '0-9'

 

소문자로 통일해 대소문자 무시 중복 제거를 만든다(sort·uniq 조합).

tr 'A-Z' 'a-z' < names.txt | sort | uniq
반응형