uniq
語法
uniq [options] file
去重行命令,但是只能是相鄰的行哦。
參數(shù)
-c | --count按出現(xiàn)次數(shù)給行加前綴。-d | --repeated只打印重復行,每組一行。-D打印所有重復行。--all-repeated[=METHOD]類似于-D,但允許用空行分隔組; METHOD={none(default),prepend,separate}-f, --skip-fields=N避免比較前N個字段。--group[=METHOD]顯示所有項,用空行分隔組;METHOD={separate(default),prepend,append,both}-i, --ignore-case比較時忽略大小寫差異。-s, --skip-chars=N避免比較前N個字符。-u, --unique僅打印唯一行。-z, --zero-terminated將所有換行符看做為NUL,不作為新行。-w, --check-chars=N比較行中不超過N個字符--help顯示幫助信息--version顯示版本信息
Example
-
uniq fileroot@248c08605ef5:/# uniq file aaaaaaaa cccccccc bbbbbbbb xxxxxxxx iiiiiiii xxxxxxxx root@248c08605ef5:/# cat file aaaaaaaa cccccccc cccccccc bbbbbbbb xxxxxxxx xxxxxxxx iiiiiiii iiiiiiii iiiiiiii xxxxxxxx -
uniq -d file打印重復行。只打印一行。
root@248c08605ef5:/# uniq -d file cccccccc xxxxxxxx iiiiiiii -
uniq -D file打印所有的重復行。
root@248c08605ef5:/# uniq -D file cccccccc cccccccc xxxxxxxx xxxxxxxx iiiiiiii iiiiiiii iiiiiiii -
uniq -D --all-repeated=separate file使用分隔符分隔每組重復。
root@248c08605ef5:/# uniq -D --all-repeated=separate file cccccccc cccccccc xxxxxxxx xxxxxxxx iiiiiiii iiiiiiii iiiiiiii -
uniq -f 1 fileroot@248c08605ef5:/# uniq -f 0 file aaaaaaaa cccccccc bbbbbbbb xxxxxxxx iiiiiiii xxxxxxxx root@248c08605ef5:/# uniq -f 1 file aaaaaaaa -
uniq --group=[METHOD] file顯示所有項,用分隔符分隔。
root@248c08605ef5:/# uniq --group=both file aaaaaaaa cccccccc cccccccc bbbbbbbb xxxxxxxx xxxxxxxx iiiiiiii iiiiiiii iiiiiiii xxxxxxxx root@248c08605ef5:/# uniq --group=append file aaaaaaaa cccccccc cccccccc bbbbbbbb xxxxxxxx xxxxxxxx iiiiiiii iiiiiiii iiiiiiii xxxxxxxx root@248c08605ef5:/# uniq --group=prepend file aaaaaaaa cccccccc cccccccc bbbbbbbb xxxxxxxx xxxxxxxx iiiiiiii iiiiiiii iiiiiiii xxxxxxxx -
uniq -u file僅輸出唯一行。
root@248c08605ef5:/# uniq -u file aaaaaaaa bbbbbbbb xxxxxxxx -
sort file | uniq結合
sort命令看下差別吧。這個應該也是最常用的結合方式了吧。root@248c08605ef5:/# sort file | uniq aaaaaaaa bbbbbbbb cccccccc iiiiiiii xxxxxxxx root@248c08605ef5:/# uniq file | sort aaaaaaaa bbbbbbbb cccccccc iiiiiiii xxxxxxxx xxxxxxxx