Raspberry Pi_Kor_10.9.4 “uniq” 명령


Published Book on Amazon


All of IOT

Starting with the Latest Raspberry Pi from Beginner to Advanced – Volume 1

All of IOT

Starting with the Latest Raspberry Pi from Beginner to Advanced – Volume 2


출판된 한글판 도서


최신 라즈베리파이(Raspberry Pi)로 시작하는 사

물인터넷(IOT)의 모든 것 – 초보에서 고급까지 (상)

최신 라즈베리파이(Raspberry Pi)로 시작하는 사

물인터넷(IOT)의 모든 것 – 초보에서 고급까지 (하)


Original Book Contents


10.9.4  "uniq" 명령

 

이 명령은 입력에서 자료를 읽거나 출력으로 자료를 내보낼 때 인접하는 중복되는 자료를 제거하는 기능을 수행한다.

 

[명령 형식]

uniq  [option]   [input]  [output]

 

[명령 개요]                           

    입력이나 출력에서 인접하는 중복되는 행 자료를 제거한다.

    user 권한    -- 일반 user.

 

[상세 설명]

    인접하는 자료에 대해서만 중복여부를 검사하므로 자료가 정렬이 되지 않은 상태로 이 명령을 실행하면 중복자료가 제거되지 않는다.

    중복된 자료가 제거된 다음에 처음에 나오는 자료가 남는다. 따라서 "sort" 명령으로 자료를 정렬한 다음 이 명령을 실행하는 것이 보통이다.

 

[주요 Option]

-c, --count

prefix lines by the number of occurrences

-d, --repeated

only print duplicate lines

-f, --skip-fields=N

avoid comparing the first N fields

-i, --ignore-case

ignore differences in case when comparing

-s, --skip-chars=N

avoid comparing the first N characters

-u, --unique

only print unique lines

 

[사용 Example]

"pi" 계정의 "testdata" directory "customer_list_dup.txt" 파일이 있으며, 그 내용은 다음과 같다

 

pi@raspberrypi ~/testdata $ cat customer_list_dup.txt

Microsoft

Google

IBM

Samsung

Samsung

Facebook

LG

Microsoft

Samsung

Sony

Hewlett-Packard

 

위의 자료를 보면 "Microsoft" "Samsung"은 여러 개의 자료가 있다. 이제 이 파일에 대해서 "uniq" 명령을 실행해 보자.

 

pi@raspberrypi ~/testdata $ uniq customer_list_dup.txt

Microsoft

Google

IBM

Samsung

Facebook

LG

Microsoft

Samsung

Sony

Hewlett-Packard

 

위의 자료를 보면 "Samsung" 자료는 중복된 것이 제거되었는데, "Microsoft" 자료는 그대로 표시되어 있다. 이것은 "uniq" 명령이 인접된 자료에 대해서만 작업을 하기 때문이다.

 

이런 문제를 해결하기 위해서 먼저 "sort" 명령으로 자료를 정렬한 다음 "uniq" 명령을 실행해 보도록 하겠다. 이번에는 다음과 같은 명령을 실행한다. 이번에는 "Microsoft" 자료도 중복된 자료가 제거된 상태로 표시된다.

 

pi@raspberrypi ~/testdata $ sort customer_list_dup.txt | uniq

Facebook

Google

Hewlett-Packard

IBM

LG

Microsoft

Samsung

Sony

 


 

"uniq" 명령은 여러 가지 option을 사용하면 더욱 다양한 정보를 얻을 수 있다. "-c" option을 사용하면 아래와 같이 중복되는 자료의 개수를 함께 확인할 수 있다

 

pi@raspberrypi ~/testdata $ sort customer_list_dup.txt | uniq c

      1 Facebook

      1 Google

      1 Hewlett-Packard

      1 IBM

      1 LG

      2 Microsoft

      3 Samsung

      1 Sony

 


 

Leave a Reply