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

파일내용을 정렬하는 sort 개론과 사용법

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

파일내용을 정렬하는 sort 개론과 사용법





 

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

 

 

 

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

 

 

 

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

 

 

 

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

 

 

 

 

 

 

명령어위치 : /bin/sort


사용형식   :  sort [옵션]... [파일]...  

 

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

 

 

 

 

 

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

 

 

 

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

 

 

 

 

 

하지만 필자는 감히 자신 있게 말씀드릴 수 있습니다.

 

 

 

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

 

 

 

 

 

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

 

 

 

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

 

 

 

 

 

[root@host3 command]# 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@host3 command]#

 

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

 

 

 

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

 

 

 

 

 

[root@host3 command]# 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@host3 command]#

 

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

 

 

 

 

 

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

 

 

 

 


두번째 문자가 동일할 경우에는 세번째.........

이런 식으로 비교를 하여 정렬하게 됩니다.

 

 

 

 

 

아무런 옵션 없이 사용하면 위의 예와 같이 화면으로만 출력합니다.

 

 

 

  그렇다면 이 결과를 파일로 저장하려면 어떻게 할까요?  다음 예를 보시기 바랍니다.

 

 

 

 

관련자료

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

공지사항


뉴스광장


  • 현재 회원수 :  60,039 명
  • 현재 강좌수 :  35,845 개
  • 현재 접속자 :  87 명