每天學一個 Linux 命令(33):uniq

2021-02-14 民工哥技術之路

點擊上方「民工哥技術之路」,選擇「設為星標」

回復「1024」獲取獨家整理的學習資料!

昨日推薦:每天學一個 Linux 命令(32):sort

命令簡介

uniq 命令用於去除文件中重複行,一般與 sort 命令結合使用。

語法格式
uniq [選項] [標準輸入 [輸出]]
uniq [OPTION] [INPUT [OUTPUT]]

輸入文件 #指定要去除的重複行文件。如果不指定該項,則從標準讀入
輸出文件 #指定要去除重複行後的內容要寫入的輸出文件。如果不指定此項,則將內容顯示到標準輸出設備(顯示終端)。

選項說明
-c  #在每列旁邊顯示該行重複出現的次數
-d  #只顯示重複出現的行與列
-f  #忽略比較指定的欄位
-s  #忽略比較指定的字符
-i  #不區分大小寫的比較
-u  #只顯示出現過一次的行與列
-w  #指定要比較的字符
-z  #用0位元組(NULL)代替換行符
--help    #顯示幫助信息並退出
--version #顯示版本信息並退出

應用舉例
#刪除重複行
[root@centos7 ~]# cat test.txt 
This is a test line
This is a test line
This is a test line
This is also a test line
This is also a test line
This is also also a test line
[root@centos7 ~]# uniq test.txt 
This is a test line
This is also a test line
This is also also a test line
[root@centos7 ~]# sort test.txt | uniq
This is also also a test line
This is also a test line
This is a test line

#只顯示單一行
[root@centos7 ~]# uniq -u test.txt
This is also also a test line
[root@centos7 ~]# sort test.txt |uniq -u
This is also also a test line

#統計各行在文件中出現的次數
[root@centos7 ~]# sort test.txt |uniq -c
      1 This is also also a test line
      2 This is also a test line
      3 This is a test line

#在文件中找出重複的行
[root@centos7 ~]# sort test.txt |uniq -d
This is also a test line
This is a test line

相關焦點

  • 每天學一個 Linux 命令(34):wc
    命令簡介wc 命令用來統計文件中的行數、單詞數或字節數,然後將結果輸出在終端上。我們可以使用 wc 命令來計算文件的Byte數、字數或是列數。統計當前目錄下的所有文件行數及總計行數[root@centos7 ~]# wc -l *      48 anaconda-ks.cfgwc: goinception: Is a directory       0 goinception   45222 goInception-linux-amd64
  • linux sort,uniq,cut,wc命令詳解
    如果 File 參數指定多個文件,那麼 sort 命令將這些文件連接起來,並當作一個文件進行排序。uniq命令可以去除排序過的文件中的重複行,因此uniq經常和sort合用。也就是說,為了使uniq起作用,所有的重複行必須是相鄰的。
  • linux uniq 命令實用手冊
    Linux uniq 命令用於處理文本內容中的重複行
  • Linux 上 12 個高效的文本過濾命令
    7、 uniq 命令uniq[16] 命令用於報告或者忽略重複行,它從標準輸入過濾行,並且把結果寫到標準輸出。在對一個輸入流運行 sort 之後,你可以使用 uniq 刪除重複行,如下例所示。 uniq 的 man 手冊來獲取進一步的使用信息和選項:$ man uniq8、 fmt 命令行fmt 是一款簡單的優化的文本格式化器,它重新格式化指定文件的段落,並且列印結果到標準輸出。
  • 每天一個 Linux 命令:grep 命令
    grep的工作方式是這樣的,它在一個或多個文件中搜索字符串模板。如果模板包括空格,則必須被引用,模板後的所有字符串被看作文件名。搜索的結果被送到標準輸出,不影響原文件內容。grep可用於shell腳本,因為grep通過返回一個狀態值來說明搜索的狀態,如果模板搜索成功,則返回0,如果搜索不成功,則返回1,如果搜索的文件不存在,則返回2。
  • 性能工具之linux常見日誌統計分析命令
    引言在上文中性能工具之linux三劍客awk、grep、sed詳解,我們已經詳細介紹 linux
  • 每天一個 Linux 命令(31): /etc/group文件詳解
    linux /etc/group文件是有關於系統管理員對用戶和用戶組管理的文件,linux用戶組的所有信息都存放在/etc/group文件中。具有某種共同特徵的用戶集合起來就是用戶組(Group)。用戶組(Group)配置文件主要有 /etc/group和/etc/gshadow,其中/etc/gshadow是/etc/group的加密信息文件。
  • 每天一個 Linux 命令(23):Linux 目錄結構
    ,深入了解linux文件目錄結構的標準和每個目錄的詳細功能,對於我們用好linux系統只管重要,下面我們就開始了解一下linux目錄結構的相關知識。當在使用Linux的時候,如果您通過ls –l / 就會發現,在/下包涵很多的目錄,比如etc、usr、var、bin … … 等目錄,而在這些目錄中,我們進去看看,發現也有很多的目錄或文件。
  • Linux Shell教程 - 如何刪除重複的文本行
    2、uniq命令 - 在Linux或Unix上運行或省略重複的行使用Sort,Uniq和Shell管道刪除重複行使用以下語法:sort {file-name} | uniq -usort file.log | uniq -u使用uniq刪除重複的行以下是使用cat
  • linux命令大全
    Linux命令大全之所以有存在的必要就是因為,linux作為非主流市場裡面的主流作業系統,不僅是免費的而且它還是一個非常優秀的作業系統,與MS-WINDOWS相比,可靠、 穩定、速度快。且擁有豐富的根據UNIX版本改進的強大功能。
  • Linux常用操作命令——文本顯示和處理
    第一章:Linux常用操作命令1.2 文本顯示和處理1.2.1 顯示文本文件的命令 cat語法:cat [選項] [文件名]1.2.4 顯示指定文件前若干行的命令 head語法:head [-n] [文件]1.2.5 查看文件末尾數據的命令 tail語法 tail [+/- n ] [選項] [文件名]1.2.6 對文件中的數據進行排序的命令
  • Linux文件的常用操作命令
    linux文件操作常用指令1、系統命令runlevel # 查看當前的運行級別systemctl status firewalld # 開啟網絡服務功能stop # 關閉restart # 重啟less # 命令行中查看文件可以上下翻頁反覆瀏覽head # 命令行中查看文件頭幾行tail # 命令行中查看文件尾幾行wc # 統計文件的單詞數 行數等信息3、目錄管理常用指令pwd #
  • 提升開發效率N倍的20+命令行神器
    背景本文主要來源於在之前公司的小組內部的一個小分享,整理成一篇文章po出來。題目叫 「Shell 助力開發效率提升」,更切題的應該是叫「命令行」提升開發效率,這裡並沒有講到 Shell 編程,而是主要介紹 Linux 或者 Mac 下常用的一些基本工具命令來幫助處理一些日常事務。
  • Linux cut 命令詳解
    ,用分隔符讓每一行列印一個欄位。下面這個例子提取 content.txt 文件每一行的第一,二,三個字節:$ cut -b 1,2,3 content.txt UbuMicOsXUniFre$ cut -b 1-3,5-7 content.txt Ubutu MicosoOsXEl UniFreBSDcut 是一個實用的命令
  • 每天學一個 Linux 命令(16):mkdir
    昨日:每天學一個 Linux 命令(15):man命令簡介mkdir 命令用於創建新目錄。創建目錄時,如果目錄名前沒有指定路徑,那麼就直接在當前工作目錄下創建新的目錄。如指定了路徑,那麼就會在這個指定的目錄下創建一個新目錄。
  • 每天學一個 Linux 命令(11):cp
    推薦:每天學一個 Linux 命令(10):passwdGithub地址:https://github.com/mingongge/Learn-a-Linux-command-every-day命令簡介
  • 老掉牙的Linux uniq還能這麼玩兒!悲憤網友:以前都白學了!
    引言如果你是一個Linux用戶,並且工作涉及到處理和操作文本文件和字符串,那麼你應該已經熟悉uniq命令了,因為它是該領域最常用的命令。對於不熟悉uniq命令的人來說,它就是一個命令行工具,用於列印或省略重複的行。這基本上是從輸入中過濾相鄰的匹配行,然後寫入輸出。
  • 提升開發效率N倍的20+命令行神器!(附 demo)
    背景本文主要來源於在之前公司的小組內部的一個小分享,整理成一篇文章po出來。題目叫 「Shell 助力開發效率提升」,更切題的應該是叫「命令行」提升開發效率,這裡並沒有講到 Shell 編程,而是主要介紹 Linux 或者 Mac 下常用的一些基本工具命令來幫助處理一些日常事務。
  • 每天學一個 Linux 命令(42):unzip
    昨日推薦:每天學一個 Linux 命令(41):zip命令簡介unzip 命令用於解壓由zip命令壓縮的壓縮包文件。-s  #將文件名中的空白字符轉換為底線字符-d<目錄>  #將解壓縮後存至指定的目錄下-x<文件>  #指定不要處理.zip壓縮文件中的哪些文件-Z  #unzip-Z相當於執行zipinfo命令應用舉例解壓一個文件
  • 每天學一個 Linux 命令(17):chmod
    昨日推薦:每天學一個 Linux 命令(16):mkdir命令簡介chmod 命令用來變更文件或目錄的權限。文件或目錄權限有讀取、寫入、執行這3種,另外還有3種特殊權限。suid或sgid,在其所有者或所屬組權限的可執行位上有明顯的標記,如果文件設置了suid且也設置了x(執行)權限,則在其執行權限位上會顯示一個字母s(小寫)。