用 uniq 除去重複行

2021-06-07 23:44:36 字數 1136 閱讀 5837

重複行通常不會造成問題,但是有時候它們的確會引起問題。此時,不必花上乙個下午的時間來為它們編制過濾器,uniq 命令便是唾手可得的好工具。

了解一下它是如何節省您的時間和精力的。進行排序之後,您會發現有些行是重複的。有時候該重複資訊是不需要的,可以將它除去以節省磁碟空間。不必對文字行進行排序,但是您應當記住 uniq 在讀取行時會對它們進行比較並將只除去兩個或更多的連續行。下面的示例說明了它實際上是如何工作的:

清單 1. 用 uniq 除去重複行

警告:請不要使用uniq或任何其它工具從包含財務或其它重要資料的檔案中除去重複行。在這種情況下,重複行幾乎總是表示同一金額的另乙個交易,將它除去會給會計部造成許多困難。千萬別這麼幹! 

有關 uniq 的更多資訊

本系列文章介紹了文字實用程式,它對在手冊頁和資訊頁找到的資訊作了補充。如果您開啟新的終端視窗並輸入man uniqinfo uniq,或者開啟新的瀏覽器視窗並檢視 位於 gnu.org 的 uniq 手冊頁

清單 2. 使用 -u 和 -d 選項

您還可以用-c選項從uniq中獲取一些統計資訊:

清單 3. 使用 -c 選項

就算uniq對完整的行進行比較,它仍然會很有用,但是那並非該命令的全部功能。特別方便的是:使用-f選項,後面跟著要跳過的字段數,它能夠跳過給定數目的字段。當您檢視系統日誌時這非常有用。通常,某些項要被複製許多次,這使得檢視日誌很難。使用簡單的uniq無法完成任務,因為每一項都以不同的時間戳記開頭。但是如果您告訴它跳過所有的時間字段,您的日誌一下子就會變得更加便於管理。試一試uniq -f 3 /var/log/messages,親眼看看。

還有另乙個選項-s,它的功能就像-f一樣,但是跳過給定數目的字元。您可以一起使用-f-suniq先跳過字段,再跳過字元。如果您只想使用一些預先設定的字元進行比較,那麼該怎麼辦呢?試試看-w選項。

shell除去重複的行 uniq命令

from 進行排序之後,您會發現有些行是重複的。有時候該重複資訊是不需要的,可以將它除去以節省磁碟空間。不必對文字行進行排序,但是您應當記住 uniq 在讀取行時會對它們進行比較並將只除去兩個或更多的連續行。下面的示例說明了它實際上是如何工作的 清單 1.用 uniq 除去重複行 警告 請不要使用 ...

linux去除檔案重複行 uniq

uniq命令全稱是 unique 中文釋義是 獨特的,唯一的 該命令的作用是用來去除文字檔案中連續的重複行,中間不能夾雜其他文字行。去除了重複的,保留的都是唯一的,也就是獨特的,唯一的了。我們應當注意的是,它和sort的區別,sort只要有重複行,它就去除,而uniq重複行必須要連續,也可以用它忽略...

刪除重複行的命令uniq

uniq有3個最為常用的選項,見如下列表 選項命令描述 c可在每個輸出行之前加上該行重複的次數 d僅顯示重複的行 u顯示為重複的行 root xieqichao cat testfile hello world friend hello world hello直接刪除未經排序的檔案,將會發現沒有任何...