您好,登錄后才能下訂單哦!
這篇文章主要講解了“Linux中怎么使用uniq命令”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Linux中怎么使用uniq命令”吧!
uniq 命令用于檢查及刪除文本文件中重復出現的行列,一般與 sort 命令結合使用,uniq 可檢查文本文件中重復出現的行列。
首先,讓我們創建一個帶有一些重復行的文件:
vi ostechnix.txt welcome to ostechnix welcome to ostechnix Linus is the creator of Linux. Linux is secure by default Linus is the creator of Linux. Top 500 super computers are powered by Linux
正如你在上面的文件中看到的,我們有一些重復的行(第一行和第二行,第三行和第五行是重復的)。
如果你在不使用任何參數的情況下使用 uniq 命令,它將刪除所有連續的重復行,只顯示唯一的行。
uniq ostechnix.txt
示例輸出:
如你所見, uniq 命令刪除了給定文件中的所有連續重復行。你可能還注意到,上面的輸出仍然有第二行和第四行重復了。這是因為 uniq 命令只有在相鄰的情況下才會刪除重復的行,當然,我們也可以刪除非連續的重復行。請看下面的第二個例子。
sort ostechnix.txt | uniq
示例輸出:
看到了嗎?沒有重復的行。換句話說,上面的命令將顯示在 ostechnix.txt 中只出現一次的行。我們使用 sort 命令與 uniq 命令結合,因為,就像我提到的,除非重復行是相鄰的,否則 uniq 不會刪除它們。
為了只顯示文件中唯一的一行,可以這樣做:
sort ostechnix.txt | uniq -u
示例輸出:
Linux is secure by default Top 500 super computers are powered by Linux
如你所見,在給定的文件中只有兩行是唯一的。
同樣的,我們也可以顯示文件中重復的行,就像下面這樣:
sort ostechnix.txt | uniq -d
示例輸出:
Linus is the creator of Linux. welcome to ostechnix
這兩行在 ostechnix.txt 文件中是重復的行。請注意 -d(小寫 d) 將會只打印重復的行,每組顯示一個。打印所有重復的行,使用 -D(大寫 D),如下所示:
sort ostechnix.txt | uniq -D
在下面的截圖中看兩個選項的區別:
由于某種原因,你可能想要檢查給定文件中每一行重復出現的次數。要做到這一點,使用 -c 選項,如下所示:
sort ostechnix.txt | uniq -c
示例輸出:
Linus is the creator of Linux. Linux is secure by default Top 500 super computers are powered by Linux welcome to ostechnix
我們還可以按照每一行的出現次數進行排序,然后顯示,如下所示:
sort ostechnix.txt | uniq -c | sort -nr
示例輸出:
welcome to ostechnix Linus is the creator of Linux. Top 500 super computers are powered by Linux Linux is secure by default
我們可以使用 -w 選項來限制對文件中特定數量字符的比較。例如,讓我們比較文件中的前四個字符,并顯示重復行,如下所示:
uniq -d -w 4 ostechnix.txt
像對文件中行的前 N 個字符進行限制比較一樣,我們也可以使用 -s 選項來忽略比較前 N 個字符。
下面的命令將忽略在文件中每行的前四個字符進行比較:
uniq -d -s 4 ostechnix.txt
為了忽略比較前 N 個字段(LCTT 譯注:即前幾列)而不是字符,在上面的命令中使用 -f 選項。
欲了解更多詳情,請參考幫助部分:
uniq --help
也可以使用 man 命令查看:
man uniq
感謝各位的閱讀,以上就是“Linux中怎么使用uniq命令”的內容了,經過本文的學習后,相信大家對Linux中怎么使用uniq命令這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。