自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

為初學者提供的uniq命令教程及示例

系統(tǒng) Linux
如果你主要是在命令行上工作,并且每天處理大量的文本文件,那么你應(yīng)該了解下 uniq 命令。該命令會幫助你輕松地從文件中找到重復的行。它不僅用于查找重復項,而且我們還可以使用它來刪除重復項,顯示重復項的出現(xiàn)次數(shù),只顯示重復的行,只顯示唯一的行等。

[[226076]]

如果你主要是在命令行上工作,并且每天處理大量的文本文件,那么你應(yīng)該了解下 uniq 命令。該命令會幫助你輕松地從文件中找到重復的行。它不僅用于查找重復項,而且我們還可以使用它來刪除重復項,顯示重復項的出現(xiàn)次數(shù),只顯示重復的行,只顯示***的行等。由于 uniq 命令是 GNU coreutils 包的一部分,所以它預(yù)裝在大多數(shù) Linux 發(fā)行版中,讓我們不需要費心安裝。來看一些實際的例子。

請注意,除非重復行是相鄰的,否則 uniq 不會刪除它們。因此,你可能需要先對它們進行排序,或?qū)⑴判蛎钆c uniq 組合以獲得結(jié)果。讓我給你看一些例子。

首先,讓我們創(chuàng)建一個帶有一些重復行的文件:

  1. vi ostechnix.txt
  1. welcome to ostechnix
  2. welcome to ostechnix
  3. Linus is the creator of Linux.
  4. Linux is secure by default
  5. Linus is the creator of Linux.
  6. Top 500 super computers are powered by Linux

正如你在上面的文件中看到的,我們有一些重復的行(***行和第二行,第三行和第五行是重復的)。

 

1、 使用 uniq 命令刪除文件中的連續(xù)重復行

如果你在不使用任何參數(shù)的情況下使用 uniq 命令,它將刪除所有連續(xù)的重復行,只顯示***的行。

  1. uniq ostechnix.txt

示例輸出:

如你所見, uniq 命令刪除了給定文件中的所有連續(xù)重復行。你可能還注意到,上面的輸出仍然有第二行和第四行重復了。這是因為 uniq 命令只有在相鄰的情況下才會刪除重復的行,當然,我們也可以刪除非連續(xù)的重復行。請看下面的第二個例子。

 

2、 刪除所有重復的行

  1. sort ostechnix.txt | uniq

示例輸出:

看到了嗎?沒有重復的行。換句話說,上面的命令將顯示在 ostechnix.txt 中只出現(xiàn)一次的行。我們使用 sort 命令與 uniq 命令結(jié)合,因為,就像我提到的,除非重復行是相鄰的,否則 uniq 不會刪除它們。

 

3、 只顯示文件中***的一行

為了只顯示文件中***的一行,可以這樣做:

  1. sort ostechnix.txt | uniq -u

示例輸出:

  1. Linux is secure by default
  2. Top 500 super computers are powered by Linux

如你所見,在給定的文件中只有兩行是***的。

 

4、 只顯示重復的行

同樣的,我們也可以顯示文件中重復的行,就像下面這樣:

  1. sort ostechnix.txt | uniq -d

示例輸出:

  1. Linus is the creator of Linux.
  2. welcome to ostechnix

這兩行在 ostechnix.txt 文件中是重復的行。請注意 -d(小寫 d) 將會只打印重復的行,每組顯示一個。打印所有重復的行,使用 -D(大寫 D),如下所示:

  1. sort ostechnix.txt | uniq -D

在下面的截圖中看兩個選項的區(qū)別:

 

5、 顯示文件中每一行的出現(xiàn)次數(shù)

由于某種原因,你可能想要檢查給定文件中每一行重復出現(xiàn)的次數(shù)。要做到這一點,使用 -c 選項,如下所示:

  1. sort ostechnix.txt | uniq -c

示例輸出:

  1. 2 Linus is the creator of Linux.
  2. 1 Linux is secure by default
  3. 1 Top 500 super computers are powered by Linux
  4. 2 welcome to ostechnix

我們還可以按照每一行的出現(xiàn)次數(shù)進行排序,然后顯示,如下所示:

  1. sort ostechnix.txt | uniq -c | sort -nr

示例輸出:

  1. 2 welcome to ostechnix
  2. 2 Linus is the creator of Linux.
  3. 1 Top 500 super computers are powered by Linux
  4. 1 Linux is secure by default

 

6、 將比較限制為 N 個字符

我們可以使用 -w 選項來限制對文件中特定數(shù)量字符的比較。例如,讓我們比較文件中的前四個字符,并顯示重復行,如下所示:

  1. uniq -d -w 4 ostechnix.txt

 

7、 忽略比較指定的 N 個字符

像對文件中行的前 N 個字符進行限制比較一樣,我們也可以使用 -s 選項來忽略比較前 N 個字符。

下面的命令將忽略在文件中每行的前四個字符進行比較:

  1. uniq -d -s 4 ostechnix.txt

為了忽略比較前 N 個字段(LCTT 譯注:即前幾列)而不是字符,在上面的命令中使用 -f 選項。

欲了解更多詳情,請參考幫助部分:

  1. uniq --help

也可以使用 man 命令查看:

  1. man uniq

今天就到這里!我希望你現(xiàn)在對 uniq 命令及其目的有一個基本的了解。如果你發(fā)現(xiàn)我們的指南有用,請在你的社交網(wǎng)絡(luò)上分享,并繼續(xù)支持我們。更多好東西要來了,請繼續(xù)關(guān)注! 

責任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2018-04-02 11:59:04

Linux命令ln

2018-04-24 11:09:13

LinuxShellfc

2018-02-24 10:38:06

Linux命令rmdir

2018-02-23 10:03:30

Linux命令mkdir

2018-02-25 14:00:07

Linux命令whereis

2018-02-05 08:45:00

RHELCentOS 7MariaDB

2018-02-10 07:36:20

Linux命令wc

2018-04-08 14:47:06

Linux命令type

2018-05-14 08:53:51

Linux命令shuf

2018-03-12 19:43:48

Linux命令 ldd

2010-06-13 11:13:38

UML初學者指南

2009-10-10 14:31:00

CCNA教程和材料CCNA

2014-04-01 10:20:00

開源Rails

2024-03-06 09:31:34

SQL數(shù)據(jù)庫數(shù)據(jù)結(jié)構(gòu)

2011-08-24 17:05:01

Lua

2021-08-05 14:40:45

操作系統(tǒng)UNIXLINUX

2018-03-12 15:26:00

Linux命令tee

2011-09-16 09:38:19

Emacs

2022-04-24 15:21:01

MarkdownHTML

2011-04-12 10:13:24

點贊
收藏

51CTO技術(shù)棧公眾號