Linux命令 uniq - 顯示或忽略重復(fù)的行

2022-03-23 09:58 更新

uniq

顯示或忽略重復(fù)的行。

概要

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

主要用途

  • 將輸入文件(或標(biāo)準(zhǔn)輸入)中鄰近的重復(fù)行寫(xiě)入到輸出文件(或標(biāo)準(zhǔn)輸出)中。
  • 當(dāng)沒(méi)有選項(xiàng)時(shí),鄰近的重復(fù)行將合并為一個(gè)。

選項(xiàng)

-c, --count                在每行開(kāi)頭增加重復(fù)次數(shù)。
-d, --repeated             所有鄰近的重復(fù)行只被打印一次。
-D                         所有鄰近的重復(fù)行將全部打印。
--all-repeated[=METHOD]    類似于 -D,但允許每組之間以空行分割。METHOD取值范圍{none(默認(rèn)),prepend,separate}。
-f, --skip-fields=N        跳過(guò)對(duì)前N個(gè)列的比較。
--group[=METHOD]           顯示所有行,允許每組之間以空行分割。METHOD取值范圍:{separate(默認(rèn)),prepend,append,both}。
-i, --ignore-case          忽略大小寫(xiě)的差異。
-s, --skip-chars=N         跳過(guò)對(duì)前N個(gè)字符的比較。
-u, --unique               只打印非鄰近的重復(fù)行。
-z, --zero-terminated      設(shè)置行終止符為NUL(空),而不是換行符。
-w, --check-chars=N        只對(duì)每行前N個(gè)字符進(jìn)行比較。
--help                     顯示幫助信息并退出。
--version                  顯示版本信息并退出。

參數(shù)

INPUT(可選):輸入文件,不提供時(shí)為標(biāo)準(zhǔn)輸入。

OUTPUT(可選):輸出文件,不提供時(shí)為標(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)計(jì)各行在文件中出現(xiàn)的次數(shù):

sort file.txt | uniq -c

在文件中找出重復(fù)的行:

sort file.txt | uniq -d

注意

  1. uniq只檢測(cè)鄰近的行是否重復(fù),sort -u將輸入文件先排序然后再處理重復(fù)行。
  2. 該命令是GNU coreutils包中的命令,相關(guān)的幫助信息請(qǐng)查看man -s 1 uniq,info coreutils 'uniq invocation'。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)