Linux命令之uniq

来源:互联网 发布:社交关系网络量化建模 编辑:程序博客网 时间:2024/05/29 18:35
学习笔记:<linux shell编程>书籍

命令:uniq
语法:sort [arg] [File]
功能:文本去重

参数:

Usage: uniq [OPTION]... [INPUT [OUTPUT]]
Discard all but one of successive identical lines from INPUT (or
standard input), writing to OUTPUT (or standard output).

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
-D, --all-repeated[=delimit-method] print all duplicate lines
delimit-method={none(default),prepend,separate}
Delimiting is done with blank 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
-z, --zero-terminated end lines with 0 byte, 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


实例1. 去除重复项
test@node-h:~/Jeff> cat fruits_2.txt
apples
apples
peaches
pears
bananas
cherries
cherries

解释:显示fruits_2.txt文本

test@node-h:~/Jeff> uniq fruits_2.txt
apples
peaches
pears
bananas
cherries

解释:不加任何参数,去除fruits_2.txt的重复行。

实例2. 去除重复项,并显示重复的次数
test@node-h:~/Jeff> sort fruits_2.txt | uniq -c
2 apples
1 bananas
2 cherries
1 peaches
1 pears

解释:参数-c 显示重复的次数

实例3. 去除重复项,并仅显示重复行
test@node-h:~/Jeff> sort fruits_2.txt | uniq -d
apples
cherries

解释:-d 仅仅显示重复行

实例3. 去除重复项,并显示不重复行
test@node-h:~/Jeff> sort fruits_2.txt | uniq -u
bananas
peaches
Pears

解释:-u 显示不重复行
0 0