Linux

[리눅스] tr 명령어 완벽 가이드 사용법(문자 변환/삭제)

인생아 2024. 10. 15. 09:17
반응형

리눅스 tr 명령어는 텍스트 변환에 사용되는 명령어로, 특정 문자를 다른 문자로 변환하거나 삭제할 때 유용합니다. 기본적으로 tr은 표준 입력에서 데이터를 읽고 변환한 결과를 표준 출력으로 내보냅니다. 파일을 직접 수정하지는 않으며, 파이프(|)와 함께 사용되는 경우가 많습니다.

tr 명령어의 기본 구문

tr [옵션] SET1 [SET2]

SET1은 변환하고자 하는 문자 집합이고, SET2는 변환 후 대체할 문자 집합입니다. SET1의 각 문자는 SET2의 대응되는 문자로 치환됩니다.

자주 사용하는 옵션

  • -d: 지정된 문자들을 삭제합니다.
  • -s: 중복되는 문자들을 압축하여 하나로 만듭니다.
  • -c: 지정된 문자 집합에 포함되지 않은 문자들을 변환합니다.

tr 명령어 예제

문자 변환 예제

소문자를 대문자로 변환하려면 다음과 같이 입력합니다:

user@linux:~/workspace$ echo "hello world" | tr 'a-z' 'A-Z'
HELLO WORLD

여기서 echo "hello world"로 출력된 소문자 문자열을 tr 'a-z' 'A-Z' 명령어로 대문자로 변환했습니다.

문자 삭제 예제

특정 문자를 삭제하려면 -d 옵션을 사용합니다. 예를 들어, 숫자를 제거하고 싶다면:

user@linux:~/workspace$ echo "hello 123 world" | tr -d '0-9'
hello  world

위 명령어는 문자열에서 숫자(0-9)를 모두 삭제하고 결과를 출력합니다.

중복 문자 압축

같은 문자가 여러 번 반복될 때, 이를 하나로 압축하려면 -s 옵션을 사용합니다:

user@linux:~/workspace$ echo "hellooooo    wooooorld" | tr -s 'o' ' '
helo world

여기서는 'o'와 공백이 여러 번 반복된 것을 각각 한 번으로 줄였습니다.

문자 제외 변환

문자 집합에 포함되지 않은 문자들을 변환하려면 -c 옵션을 사용할 수 있습니다. 예를 들어, 숫자를 제외한 모든 문자를 'X'로 바꾸려면:

user@linux:~/workspace$ echo "password123" | tr -c '0-9' 'X'
XXXXXXXX123

위 명령어는 숫자를 제외한 모든 문자를 'X'로 변환하여 출력합니다.

tr 명령어의 실전 활용

  1. 파일 내용 정리: 특정 파일에서 불필요한 공백이나 문자 제거 시 유용합니다.
  2. 로그 파일 분석: 로그에서 특정 패턴을 추출하거나 변환할 때 사용됩니다.
  3. 데이터 처리: 대규모 텍스트 데이터를 처리하거나 포맷을 변경할 때 활용할 수 있습니다.

참고사이트

반응형