顯示或忽略重復(fù)的行。
uniq [OPTION]... [INPUT [OUTPUT]]
-c, --count 在每行開頭增加重復(fù)次數(shù)。
-d, --repeated 所有鄰近的重復(fù)行只被打印一次。
-D 所有鄰近的重復(fù)行將全部打印。
--all-repeated[=METHOD] 類似于 -D,但允許每組之間以空行分割。METHOD取值范圍{none(默認(rèn)),prepend,separate}。
-f, --skip-fields=N 跳過對前N個列的比較。
--group[=METHOD] 顯示所有行,允許每組之間以空行分割。METHOD取值范圍:{separate(默認(rèn)),prepend,append,both}。
-i, --ignore-case 忽略大小寫的差異。
-s, --skip-chars=N 跳過對前N個字符的比較。
-u, --unique 只打印非鄰近的重復(fù)行。
-z, --zero-terminated 設(shè)置行終止符為NUL(空),而不是換行符。
-w, --check-chars=N 只對每行前N個字符進(jìn)行比較。
--help 顯示幫助信息并退出。
--version 顯示版本信息并退出。
INPUT(可選):輸入文件,不提供時為標(biāo)準(zhǔn)輸入。
OUTPUT(可選):輸出文件,不提供時為標(biāo)準(zhǔn)輸出。
返回0表示成功,返回非0值表示失敗。
注意:命令2和命令3結(jié)果一樣,命令1僅作了相鄰行的去重。
uniq file.txt
sort file.txt | uniq
sort -u file.txt
只顯示單一行,區(qū)別在于是否執(zhí)行排序:
uniq -u file.txt
sort file.txt | uniq -u
統(tǒng)計各行在文件中出現(xiàn)的次數(shù):
sort file.txt | uniq -c
在文件中找出重復(fù)的行:
sort file.txt | uniq -d
uniq
只檢測鄰近的行是否重復(fù),sort -u
將輸入文件先排序然后再處理重復(fù)行。
該命令是GNU coreutils
包中的命令,相關(guān)的幫助信息請查看man -s 1 uniq
,info coreutils 'uniq invocation'
。