Linux tr 사용법

tr 명령어는 리눅스와 유닉스 시스템에서 문자 변환 또는 삭제를 수행하는 유용한 명령어이다. 이 글에서는 tr의 기본 사용법과 다양한 예제를 통해 실제 활용되는 방법에 대해 알아본다.

tr 기본 문법

tr 명령어의 기본적인 구문은 다음과 같다:

tr [options] set1 set2
  • options: tr 명령어의 옵션을 지정한다.
    • -d : set1에서 지정한 문자를 삭제한다.
    • -s : set2에서 반복되는 문자를 삭제한다.
    • -t : set1set2의 길이로 자른다.
  • set1: 변환 전 문자 집합을 지정한다.
  • set2: 변환 후 문자 집합을 지정한다.

Examples

1. 대소문자 변환

~$ echo "Hello World" | tr 'a-z' 'A-Z'
HELLO WORLD

위 명령은 “Hello World” 문자열의 소문자를 대문자로 변환하여 출력한다.

2. 문자 삭제

~$ echo "Remove vowels" | tr -d 'aeiou'
Rmv vwls

“Remove vowels” 문자열에서 모음을 삭제하여 “Rmv vwls”를 출력한다.

3. 문자 변환 및 삭제

~$ echo "Hello 123" | tr 'a-zA-Z0-9' '!'
!!!!! !!!

“Hello 123” 문자열의 알파벳과 숫자를 모두 느낌표(!)로 변환하여 출력한다.

4. 문자 집합 확장

~$ echo "123-456-789" | tr '0-9' 'a-j'
bcd-efg-hij

“123-456-789” 문자열의 숫자를 a부터 j까지 순차적으로 변환하여 출력한다.

5. 특수문자 삭제

~$ echo "Hello! @World@" | tr -d '[:punct:]'
Hello World

“Hello! @World@” 문자열에서 모든 특수문자를 삭제한 “Hello World”를 출력한다.

다양한 활용 예제

1. 숫자만 추출

:~$ echo "a1b2c3" | tr -cd '0-9'
123

“a1b2c3” 문자열에서 숫자만 추출하여 “123”을 출력한다.

2. 공백 제거

~$ echo "Remove    extra    spaces" | tr -s ' '
Remove extra spaces

“Remove extra spaces” 문자열에서 연속된 공백을 하나만 남기고 출력한다.

3. 모든 문자 소문자로 변환

~$ echo "Convert TO Lowercase" | tr 'A-Z' 'a-z'
convert to lowercase

“Convert TO Lowercase” 문자열의 모든 알파벳을 소문자로 변환하여 출력한다.

4. 중복 문자 제거

~$ echo "aaabbbccc" | tr -s 'a-c'
abc

“aaabbbccc” 문자열에서 중복되는 문자를 하나만 남기고 출력한다.

5. 문자열 치환

~$ echo "Replace Spaces" | tr ' ' '_'
Replace_Spaces

“Replace Spaces” 문자열의 공백을 언더스코어(_)로 치환하여 출력한다.

참고 사이트

답글 남기기