강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

영문자의 대소문자 쉽게 변환하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

영문자의 대소문자 쉽게 변환하기

 

 

 

 

 

 

파일내의 영문자를 소문자 또는 대문자로 변경하거나 지정한 대로 변경하려면 tr을 이용한다.

 

 

 

 , tr명령어는 “translate”의 약어로서 지정한 문자를 바꾸어주거나 삭제하는 명령어이다.

 

 

 

  , 특정한 문자를 다른 문자로 바꾸거나 또는 특정 문자를 제거(삭제)하는 명령어이다.

 

 

 

 이 명령어의 주된 용도는 파일내의 대소문자를 변경하여 그 내용을 원하는 포맷으로 만드는 것이다.

 

 

 

 

 

이 명령어(tr)의 사용 예를 위하여 trtest라는 텍스트파일을 다음과 같이 생성하였다.

 

 

 

  보는 바와 같이 trtest파일 내에는 대문자와 소문자, 그리고 .(마침표)으로 구성된 텍스트 파일이다.

 

 

 

 

 

[root@sulinux ~]# ls -l trtest

-rw-r--r-- 1 root root 73 2008-12-2620:10 trtest

[root@sulinux ~]#

[root@sulinux ~]# cat trtest

LINUX is the best OS.

You are a LINUXER.

I am a SE.

She is a programmer.

[root@sulinux ~]#

 

 

 

 

 

위에서 확인한 trtest라는 파일의 모든 소문자를 대문자로 바꾸어 보도록 하겠다.

 

 

 

 , 아래의 예는 다음과 같은 의미를 가지고 있다.

 

 

 

 “cat trtest”라는 명령어의 결과가 파이프(|)기호 뒤에 오는 tr명령어의 입력으로 들어간다.

 

 

 

 

 

따라서 tr명령어의 작업대상은 trtest가 되는 것이다.

 

 

 

 그리고 tr명령어에서 ‘[a-z]’ a, b, c,….등과 같이 각각의 소문자를 의미하며 ‘[A-Z]’는 각각의 대문자를 의미한다.

 

 

 

  그리고 tr명령어에 의해 a A, b B, c C와 같이 각각 1 1로 대응하면서 소문자를 대문자로 변경한다.

 

 

 

 

 

[root@sulinux ~]# cat trtest | tr '[a-z]' '[A-Z]'

LINUX IS THE BEST OS.

YOU ARE A LINUXER.

I AM A SE.

SHE IS A PROGRAMMER.

[root@sulinux ~]#

 

 

 

 

따라서 위의 결과는 trtest파일내에 존재하는 모든 소문자가 대문자로 변경되어 출력된 것이다.

 

 

 

  그리고 만약 이렇게 출력되는 결과를 원하는 파일에 저장하고자 한다면 다음과 같이 “> 파일명을 위의 명령어 끝부분에 추가하면 된다.

 

 

 

 

 

[root@sulinux ~]# cat trtest | tr '[a-z]' '[A-Z]' > trtest-1

[root@sulinux ~]#

[root@sulinux ~]# cat trtest-1

LINUX IS THE BEST OS.

YOU ARE A LINUXER.

I AM A SE.

SHE IS A PROGRAMMER.

[root@sulinux ~]#

 

 

 

 

위의 예는 trtest파일의 모든 소문자가 대문자로 변경되어 trtest-1파일에 저장되었다.

 

 

 

그리고 cat으로 trtest-1파일의 내용을 확인하였다.

 

 

 

 

 

이번에는 앞의 예와는 반대로 특정파일내의 모든 대문자를 소문자로 변경하는 예이다.

 

 

 

아래와 같이 trtest파일의 내용을 cat명령어로 확인하였다.

 

 

 

 

 

[root@sulinux ~]# cat trtest

LINUX is the best OS.

You are a LINUXER.

I am a SE.

She is a programmer.

[root@sulinux ~]#

 

 

 

 

위에서 확인한 trtest라는 파일의 모든 대문자를 소문자로 바꾸어 보자. , “cat trtest”라는 명령어의 결과가 파이프(|)기호 뒤에 오는 tr명령어의 입력으로 들어간다.

 

 

 

 따라서 tr명령어의 작업대상은 trtest가 되는 것이다.

 

 

 

 그리고 tr명령어에서 ‘[A-Z]’ A, B, C,….등과 같이 각각의 대문자를 의미하며 ‘[a-z]’는 각각의 소문자를 의미한다.

 

 

 

  그리고 tr명령어에 의해 A a, B b, C c와 같이 각각 1 1로 대응하면서 대문자를 소문자로 변경한다.

 

 

 

 

 

[root@sulinux ~]# cat trtest | tr '[A-Z]' '[a-z]'

linux is the best os.

you are a linuxer.

i am a se.

she is a programmer.

[root@sulinux ~]#

 

따라서 위의 결과는 trtest파일 내에 존재하는 모든 대문자가 소문자로 변경되어 출력된 것이다.

 

 

 

  그리고 만약 이렇게 출력되는 결과를 원하는 파일에 저장하고자 한다면 다음과 같이 “> 파일명을 위의 명령어 끝부분에 추가하면 된다.

 

 

 

 

 

[root@sulinux ~]# cat trtest | tr '[A-Z]' '[a-z]' > trtest-2

[root@sulinux ~]#

[root@sulinux ~]# cat trtest-2

linux is the best os.

you are a linuxer.

i am a se.

she is a programmer.

[root@sulinux ~]#

 

 

 

위의 예는 trtest파일의 모든 대문자가 소문자로 변경된 후에 trtest-2라는 파일에 저장시킨 후에 trtest-2파일의 내용을 cat명령어로 확인한 것이다.

 

 

 

 이번 예에서도 tr 다음에 -s옵션을 사용하는 것을 생략하였다.

 

 

 

 

 

다음은 지정한 파일 내에서 특정 문자를 삭제하는 예이다.

 

 

 

  앞의 예에서 확인하였던 trtest라는 파일의 내용은 다음과 같다.

 

 

 

 

 

[root@sulinux ~]# cat trtest

LINUX is the best OS.

You are a LINUXER.

I am a SE.

She is a programmer.

[root@sulinux ~]#

 

 

 

그리고 아래에서는 trtest파일내에서 .(마침표)문자를 모두 제거한 후에 trtest-3파일에 저장하는 예이다.

 

 

 

 

 

[root@sulinux ~]# cat trtest | tr -d .

LINUX is the best OS

You are a LINUXER

I am a SE

She is a programmer

[root@sulinux ~]#

[root@sulinux ~]# cat trtest | tr -d . > trtest-3

[root@sulinux ~]#

[root@sulinux ~]# cat trtest-3

LINUX is the best OS

You are a LINUXER

I am a SE

She is a programmer

[root@sulinux ~]#

 

 

 

 

  “cat trtest”명령어에 의해 파일의 내용이 출력되며 “|”(파이프명령어)에 의해 cat명령어의 출력이 tr명령어의 입력으로 들어가게 된다.

 

 

 

  그리고 “tr -d .명령어에 의해 .(마침표)를 제거하여 “> trtest-3”에 의하여 그 결과가 trtest-3파일에 저장된 것이다.

 

 

 

 그리고 그 결과를 확인하기 위하여 “cat trtest-3”파일의 내용을 확인한 것이다.

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,074 명
  • 현재 강좌수 :  35,995 개
  • 현재 접속자 :  519 명