sort/uniq

sort

파일을 주어진 규칙대로 나열하는 명령어이다.

sort [OPTION] [-o output] FILE [-m merged files...] 

동작 과정

  • 파일을 줄 단위로 구분하여 각 줄을 정렬한다.
  • 각 줄은 구분자에 의해 단어로 구분되고 각 단어를 규칙으로 사용할 수 있다.
  • 아무 규칙이 없다면 각 줄의 첫 번째 단어를 알파벳 순서로 정렬한다.

OPTION

  • 정렬 옵션
optiondescription
-b선행 공백을 무시한다
-f대소문자를 무시하고 정렬한다
-n비교 대상을 텍스트 내 숫자로 한정한다
-R랜덤하게 정렬한다 (해시 값 이용)
-r내림차순으로 정렬한다
  • 확장 옵션
optiondescription
-c파일이 정렬되어 있는지 검사한다
-kn번째 필드를 기준으로 정렬한다
-m이미 정렬된 파일들을 병합한다 (정렬 안함)
-o결과를 파일에 저장한다
-t단어 구분자를 지정해준다 (deafult는 공백)
-u정렬 후 중복을 제거한다

예시

# 현재 디렉터리를 파일의 크기에 따라 정렬
ls -s | sort -n

uniq

파일을 주어진 규칙대로 나열하는 명령어이다.

sort [OPTION] FILE

동작 과정

  • 중복된 줄이 연속으로 있으면 하나만 남기고 제거한다.
  • sort랑 같이 쓰는 것이 좋다

OPTION

optiondescription
-c같은 줄이 몇 번 나오는지 보여준다
-d중복되는 줄 중 하나만 보여준다
-D중복이 있는 줄을 모두 보여준다
-N1~n번째 줄까지는 검사하지 않는다
-i대소문자를 무시한다
-u중복이 없는 것만 보여준다
-wn 번째 단어까지만 비교한다
-sn 번째 단어까지를 제외하고 비교한다
-fn 번째 단어를 제외하고 비교한다

예시

sort file | uniq -cd

출처

https://websecurity.tistory.com/80
https://www.redhat.com/sysadmin/uniq-command-lists

좋은 웹페이지 즐겨찾기