uniq
顯示或忽略重複的行。
概要
1uniq [OPTION]... [INPUT [OUTPUT]]
主要用途
- 將輸入文件(或標準輸入)中鄰近的重複行寫入到輸出文件(或標準輸出)中。
- 當沒有選項時,鄰近的重複行將合併爲一個。
選項
1-c, --count 在每行開頭增加重複次數。
2-d, --repeated 所有鄰近的重複行只被打印一次。
3-D 所有鄰近的重複行將全部打印。
4--all-repeated[=METHOD] 類似於 -D,但允許每組之間以空行分割。METHOD取值範圍{none(默認),prepend,separate}。
5-f, --skip-fields=N 跳過對前N個列的比較。
6--group[=METHOD] 顯示所有行,允許每組之間以空行分割。METHOD取值範圍:{separate(默認),prepend,append,both}。
7-i, --ignore-case 忽略大小寫的差異。
8-s, --skip-chars=N 跳過對前N個字符的比較。
9-u, --unique 只打印非鄰近的重複行。
10-z, --zero-terminated 設置行終止符爲NUL(空),而不是換行符。
11-w, --check-chars=N 只對每行前N個字符進行比較。
12--help 顯示幫助信息並退出。
13--version 顯示版本信息並退出。
參數
INPUT(可選):輸入文件,不提供時爲標準輸入。
OUTPUT(可選):輸出文件,不提供時爲標準輸出。
返回值
返回0表示成功,返回非0值表示失敗。
例子
注意:命令2和命令3結果一樣,命令1僅作了相鄰行的去重。
1uniq file.txt
2sort file.txt | uniq
3sort -u file.txt
只顯示單一行,區別在於是否執行排序:
1uniq -u file.txt
2sort file.txt | uniq -u
統計各行在文件中出現的次數:
1sort file.txt | uniq -c
在文件中找出重複的行:
1sort file.txt | uniq -d
注意
-
uniq
只檢測鄰近的行是否重複,sort -u
將輸入文件先排序然後再處理重複行。 -
該命令是
GNU coreutils
包中的命令,相關的幫助信息請查看man -s 1 uniq
,info coreutils 'uniq invocation'
。
來源:https://github.com/jaywcjlove/linux-command
最後修改於: Wednesday, January 31, 2024
版權申明:
- 未標註來源的內容皆為原創,未經授權請勿轉載(因轉載後排版往往錯亂、內容不可控、無法持續更新等);
- 非營利為目的,演繹本博客任何內容,請以'原文出處'或者'參考鏈接'等方式給出本站相關網頁地址(方便讀者)。