티스토리 뷰

linux 기초 sort 명령어/uniq 명령어



  sort 명령어 

   # sort 명령은 사용자가 지정한 파일의 내용을 정렬하거나, 정렬된 파일의 내용을 병합 할 때 사용한다.




  기본 사용법

   # sort [옵션] [-o :저장될 파일명] 정렬할 파일명 [병합할 파일명...]



 ↑중복이 들어 있는 매우 난잡한 파일 data.txt

    # sort 명령을 사용해서 정렬할 수 있다.


 ↑sort [파일명]을 통해 data.txt의 내용을 정렬상태로 출력



  옵션


   # -n : 라인의 각 필드를 비교하는 대상을 숫자로 한정

   # -f : 영어를 정렬할 때 , 대 소 문자 구별을 안함

   # -r : 출력 순서를 역수으로 출력

   # -b : 앞에 붙는 공백 무시

   # -t : 필드 구분자 지정

   # -m : 정렬된 파일을 병합

   # -u : 정렬 후 , 중복행을 제거

   # -o :  저장할 파일명을 명시, 명시하지 않으면 화면에 출력


      →만약 옵션을 지정해주지 않으면, ASCII코드 순으로 정렬하며, 정렬할 파일을 지정해주지 않으면 커맨드 입력으로

          받아 들인다. 기본적으로 맨 위쪽부터 구분자(스페이스,탭)을 이용하여 정렬하는데 , +숫자 를 추가하면 해당

          필드 번째의 필드부터 정렬합니다.




  uniq명령어 

   # uniq 명령어를 사용하여 파일내용을 출력시 파일 내용안에 중복된 열은 삭제된채로 출력이 됩니다.




  기본 사용법

   # uniq [옵션] [파일명]



  옵션


   # -c : 같은 열에서 중복되서 나오는지 문자열 앞에 숫자로 출력

   # -d : 중복되어 나오는 라인 중 한 열만 출력

   # -D : 중복되는 모든 열을 출력

   # -u : 중복 열이 없는 것만 출력

   


   ※중복은 문자열이 연속으로 올때 인식합니다. 무작위로 있으면 인식 x






  sort와 uniq를 이용한 자주 사용되는 예


 ↑cat 명령어와 sort 명령어, uniq 명령어를 |(파이프)를 이용해 왼쪽에서 오른쪽으로(→) 명령을 수행합니다.

    # data.txt를 보여주는데(cat),정렬한채로 (sort), 중복된 문자열을 맨 앞에 숫자로 처리(uniq -c)



 ↑같은 방식으로 찾는데 이번에는  uniq 옵션에 -u 옵션으로 중복되는 열은 제외하고 출력합니다.