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

파일내용정렬 마법사 sort 실무1편: sort의 개론과 기본 정렬법

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

파일내용정렬 마법사 sort 실무1: sort의 개론과 기본 정렬법

 

 

 

 

 

리눅스시스템에 있는 무수히 많은 파일들을 특정 기준으로 각각 정렬할 수는 없을까?  이런의문점에서 출발하여 이번 절에서는 파일내용을 정렬하는 sort에 대해서 알아볼 것이다.

 

 

 

 정렬이라고 하면 왠지 수학적일 것 같아서 조금 망설여지는 것이 초급자에게는 당연할런지 모른다.

 

 

 

 하지만 걱정하지 마시라.  sort라는 정렬명령어는 수학과는 아무런 상관없이 특정파일의 내용을 우리가 원하는 포맷대로 정렬을 해주는 것이다.

 

 

 

 , 그럼 sort에 대해서 알아보도록 하자.

 

한마디로 sort명령어는 텍스트로 된 파일의 행단위 정렬을 할 때 사용하는 명령어이다.

 

 

 

  복잡한 워드문서 등의 편집이 아닌 간단한 텍스트문서를 대상으로 정렬작업을 할 때 주로 사용되는 명령어이다.

 

 

 

  또한 이 명령어는 특정 DB나 프로그램, 또는 쉘프로그램등의 입력 값으로 사용되는 데이터를 직접 정렬 또는 편집 할 때 편리하게 할 수 있다.

 

 

 

 간단해 보이는 이 명령어는 실제로 실무에서 굉장히 유용하게 활용되고 있다.

 

 

 

 

 

간단한 활용 예로서 현재 디렉토리내의 파일리스트를 용량 별로 정렬한다든지, 현재 디렉토리내의 파일명을 기준으로 정렬한다든지, 특정파일내용의 특정 열을 기준으로 정렬하는등  실무에서 매우 유용하게 활용할 수 있다.

 

 

 

 

 

앞서 잠깐 말했듯이 sort명령어를 이용하여 특정파일의 내용을 정렬하는 간단한 방법부터 시스템관리자에게 필요한 실무활용까지 자세히 다루고있다.

 

 

 

  처음 sort명령어를 배울 때는 명령어 이름에서 느낄 수 있듯이 좀 따분할 것 같다라는 생각이든다.

 

 

 

 하지만 필자는 감히 자신있게 말할 수 있다.

 

 

 

 이번 절의 내용을 모두 본 후에 sort명령어가 시스템관리자들에게 얼마나 편리한가? 그리고 서버내의 유용한 정보를 얼마나 간편하게 얻어낼 수 있는가에 대한 확신을 가질 수 있으리라고 생각한다.

 

 

 

 

 

먼저, 간단한 예부터 보도록 하겠다.

 

 

 

 아래와 같은 내용을 가진 textfile이라는 파일이 존재한다.

 

 

[root@sulinux ~]# cat textfile
4       one     nine
7       eight   two
6       four    six
9       six     four
2       three   seven
3       seven   three
0       five    five
1       nine    one
8       two     eight
5       ten     zero
[root@sulinux ~]#

 

이 파일의 각 행들의 데이터를 간단히 정렬하기 위하여 다음과 같이 "sort 파일명"이라고 하였다.

 

 

 

 아래 예와같이 아무런 옵션없이 그냥 사용하면 각 행의 첫번째 열을 기준으로 하여 정렬한다.

 

 

 

 

 

[root@sulinux ~]# sort textfile
0       five    five
1       nine    one
2       three   seven
3       seven   three
4       one     nine
5       ten     zero
6       four    six
7       eight   two
8       two     eight
9       six     four
[root@sulinux ~]#

 

 

 

 

위와 같이 "sort textfile"이라고 하면 textfile의 각 행의 첫번째 단어(필드)들의 첫번째 문자들을 알파벳 오름차순으로 정렬한다.

 

 

 

 

 

첫번째 문자가 동일할 경우에는 동일한 첫번째 문자를 가진 행끼리 두번째 문자를 가지고 정렬한다.

 

 

 

 


두번째 문자가 동일할 경우에는 세번째....이런식으로 비교를 하여 정렬하게 된다.

 

 

 

 

 

 

관련자료

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

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  98 명