linux command

uniq

Linux Command – uniq ใช้ในการจัดเรียงข้อมูลแบบไม่ซ้ำกัน

 

คำสั่ง

ตัวอย่าง file test

$ cat test
hello
world
HEllo
WorlD
2
Bye
1
bYe

 

ทำการ sort ข้อมูล

$ cat test |sort > test.sort
$ cat test.sort
1
2
bYe
Bye
hello
HEllo
world
WorlD

 

1. จัดเรียงข้อมูลไม่ซ้ำกัน

uniq <file>

$ uniq test.sort
1
2
bYe
Bye
hello
HEllo
world
WorlD

 

2. จัดเรียงข้อมูลไม่ซ้ำกันโดยไม่สนตัวเล็กตัวใหญ่ (case sensitive)

uniq -i <file>

$ uniq -i test.sort
1
2
bYe
hello
world

 

3. นับจำนวนบรรทัดที่ซ้ำกัน

uniq -c <file>

$ uniq -c test.sort
 1 1
 1 2
 1 bYe
 1 Bye
 1 hello
 1 HEllo
 1 world
 1 WorlD

$ uniq -ic test.sort
 1 1
 1 2
 2 bYe
 2 hello
 2 world

 

โครงสร้างคำสั่ง

 uniq [OPTION]... [INPUT [OUTPUT]]

 

รายละเอียด

เป็นคำสั่งที่ใช้ในการจัดเรียงข้อมูลแบบไม่ซ้ำกัน โดยการลบข้อมูลที่ซ้ำออกโดยเเปรียบเทียบข้อมูลทีละบรรทัด จำเป็นต้องทำการ sort ข้อมูลก่อนการทำ uniq

 

Option

 Mandatory arguments to long options are mandatory for short options too.

 -c, --count
 prefix lines by the number of occurrences

 -d, --repeated
 only print duplicate lines, one for each group

 -D print all duplicate lines

 --all-repeated[=METHOD]
 like -D, but allow separating groups with an empty line; METHOD={none(default),prepend,separate}

 -f, --skip-fields=N
 avoid comparing the first N fields

 --group[=METHOD]
 show all items, separating groups with an empty line; METHOD={separate(default),prepend,append,both}

 -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

 -z, --zero-terminated
 line delimiter is NUL, not newline

 -w, --check-chars=N
 compare no more than N characters in lines

 --help display this help and exit

 --version
 output version information and exit

 A field is a run of blanks (usually spaces and/or TABs), then non-blank characters. Fields are skipped before chars.

 Note: 'uniq' does not detect repeated lines unless they are adjacent. You may want to sort the input first, or use 'sort -u' without 'uniq'. Also, comparisons honor the rules
 specified by 'LC_COLLATE'.

 

กลุ่มคำสั่ง

comm(1), join(1), sort(1)

 

Reference:

คำสั่ง Unix – Linux Command

Linux, Unix

 

Author: Suphakit Annoppornchai

Credit: https://saixiii.com

Leave a Reply