인접한 곳에 중복되는 문장 탐지 및 제거에 이용된다. 중복되는 문장이어도 인접하지 않으면 탐지를 안한다. 보통 이런건 순서가 보장될 필요가 없으면, sort -u 명령으로 해결하면 된다.
uniq [OPTION] [INPUT[OUTPUT]]
OPTION : uniq서 활용할 설정
INPUT : uniq가 적용되는 입력 파일. 없으면 사용자 입력값을 가지고 실행
OUTPUT : uniq가 적용된 파일을 저장할 위치. 없으면 그냥 출력
밑은 예시 파일
sycho@DESKTOP-4RPUOID:~$ cat dups.txt
I love linux and programming
I love linux and programming
I love python
I love python
I love python
We love Java
We love Java
We love Java
We love Java
We love Java
Any other opinions?
uniq 적용 결과. 중복 문장이 제거되고 출력되었다.sycho@DESKTOP-4RPUOID:~$ uniq dups.txt
I love linux and programming
I love python
We love Java
Any other opinions?
-c)sycho@DESKTOP-4RPUOID:~$ uniq -c dups.txt
2 I love linux and programming
1
3 I love python
1
5 We love Java
1
1 Any other opinions?
-d)sycho@DESKTOP-4RPUOID:~$ uniq -cd dups.txt
2 I love linux and programming
3 I love python
5 We love Java
-D)-c랑 같이 사용 불가.sycho@DESKTOP-4RPUOID:~$ uniq -D dups.txt
I love linux and programming
I love linux and programming
I love python
I love python
I love python
We love Java
We love Java
We love Java
We love Java
We love Java
-u)sycho@DESKTOP-4RPUOID:~$ uniq -u dups.txt
Any other opinions?
-f)문장들의 앞부분마다 번호가 매겨져 있는 경우 유용한 option이다.
앞의 N개의 field를 무시하고 중복 여부를 검사하도록 한다.
sycho@DESKTOP-4RPUOID:~$ cat dups2.txt
1. I love python
2. I love python
3. I love python
4. I love linux
5. I love linux
sycho@DESKTOP-4RPUOID:~$ uniq -f 2 dups2.txt
1. I love python
4. I love linux
-s)-f랑 유사하나, 단위가 field 대신 문자다.sycho@DESKTOP-4RPUOID:~$ cat dups2.txt
1. I love python
2. I love python
3. I love python
4. I love linux
5. I love linux
sycho@DESKTOP-4RPUOID:~$ uniq -s 3 dups2.txt
1. I love python
4. I love linux
-w)-D로 공백 문장들을 전부 처리한 다음, 첫 글자가 같은 문장들끼리를 묶어 놓았다. 이러면 I랑 W에 대해서 묶이게 된다.sycho@DESKTOP-4RPUOID:~$ uniq -D dups.txt | uniq -w 1
I love linux and programming
We love Java
-i)sycho@DESKTOP-4RPUOID:~$ cat dups2.txt
I love python
I LOVE python
I LOVE python
I loVe linux
I lOve linux
sycho@DESKTOP-4RPUOID:~$ uniq dups2.txt
I love python
I LOVE python
I loVe linux
I lOve linux
sycho@DESKTOP-4RPUOID:~$ uniq -i dups2.txt
I love python
I loVe linux
\n 대신 \0 사용 (-z)기본은 줄 구분 기준이 줄바꿈 문자 (\n)이다.
이 줄 구분 기준을 \0으로 바꾸고 싶으면 -z를 사용한다.
보통 uniq를 스크립트 파일에서 활용할 때 쓰인다.