日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

shell除去重复的行——uniq命令

發布時間:2023/12/9 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shell除去重复的行——uniq命令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

From: http://blog.163.com/redhumor@126/blog/static/1955478420123119218332/

進行排序之后,您會發現有些行是重復的。有時候該重復信息是不需要的,可以將它除去以節省磁盤空間。不必對文本行進行排序,但是您應當記住
uniq
在讀取行時會對它們進行比較并將只除去兩個或更多的連續行。下面的示例說明了它實際上是如何工作的:

清單 1. 用 uniq 除去重復行


$ cat happybirthday.txt Happy Birthday to You! Happy Birthday to You! Happy Birthday Dear Tux! Happy Birthday to You! $ sort happybirthday.txt Happy Birthday Dear Tux! Happy Birthday to You! Happy Birthday to You! Happy Birthday to You! $ sort happybirthday.txt | uniq Happy Birthday Dear Tux! Happy Birthday to You!

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


有關 uniq 的更多信息

本系列文章介紹了文本實用程序,它對在手冊頁和信息頁找到的信息作了補充。如果您打開新的終端窗口并輸入
man uniq

info uniq
,或者打開新的瀏覽器窗口并查看 位于 gnu.org 的 uniq 手冊頁,那么就可以了解更多的相關信息。


?

如果您希望您的工作輕松點,比如只顯示唯一的或重復的行,那么該怎么辦呢?您可以用
-u
(唯一)和
-d
(重復)選項來做到這一點,例如:

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


$ sort happybirthday.txt | uniq -u Happy Birthday Dear Tux! $ sort happybirthday.txt | uniq -d Happy Birthday to You!

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

清單 3. 使用 -c 選項


$ sort happybirthday.txt | uniq -uc 1 Happy Birthday Dear Tux! $ sort happybirthday.txt | uniq -dc 3 Happy Birthday to You!

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

還有另一個選項
-s
,它的功能就像
-f
一樣,但是跳過給定數目的字符。您可以一起使用
-f

-s

uniq
先跳過字段,再跳過字符。如果您只想使用一些預先設置的字符進行比較,那么該怎么辦呢?試試看
-w
選項。


總結

以上是生活随笔為你收集整理的shell除去重复的行——uniq命令的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。