• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Khan's Notebook GCC/GNU/Linux Delphi/Window Java/Anywhere

            路漫漫,長修遠,我們不能沒有錢
            隨筆 - 173, 文章 - 0, 評論 - 257, 引用 - 0
            數據加載中……

            技巧: 用 uniq 除去重復行(轉載自ibm論壇)

                重復行通常不會造成問題,但是有時候它們的確會引起問題。
                此時,不必花上一個下午的時間來為它們編制過濾器,uniq 命令便是唾手可得的好工具。了解一下它是如何節省您的時間和精力的。

            進行排序之后,您會發現有些行是重復的。有時候該重復信息是不需要的,可以將它除去以節省磁盤空間。
            不必對文本行進行排序,但是您應當記住 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 或任何其它工具從包含財務或其它重要數據的文件中除去重復行。
                在這種情況下,重復行幾乎總是表示同一金額的另一個交易,將它除去會給會計部造成許多困難。千萬別這么干!
                 

            如果您希望您的工作輕松點,比如只顯示唯一的或重復的行,那么該怎么辦呢?您可以用 -u (唯一)和 -d (重復)選項來做到這一點,例如:
            清單 2. 使用 -u 和 -d 選項
            $ sort happybirthday.txt | uniq -u
            Happy Birthday Dear Tux!
            $ sort happybirthday.txt | uniq -d
            Happy Birthday to You!


            清單 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 選項。


            posted on 2007-11-19 10:23 Khan 閱讀(1086) 評論(1)  編輯 收藏 引用 所屬分類: 跨平臺開發周邊技術

            評論

            # re: 技巧: 用 uniq 除去重復行(轉載自ibm論壇)  回復  更多評論   

            那么該怎么辦呢?
            2008-12-27 10:07 | 北京論壇
            久久精品国产精品亚洲精品 | 欧美性大战久久久久久| 日批日出水久久亚洲精品tv| 中文字幕日本人妻久久久免费| www.久久精品| 久久人人爽人人爽人人片AV高清| 久久精品国产福利国产秒| 欧美精品一区二区久久| 久久久一本精品99久久精品88| 久久国产视频99电影| 久久久噜噜噜www成人网| 久久久精品国产亚洲成人满18免费网站 | 国产精品伊人久久伊人电影| 久久久久久久精品妇女99| 精品久久久久久99人妻| 97久久香蕉国产线看观看| 国产成人精品久久| 久久久精品国产Sm最大网站| 国产精品一区二区久久精品| 久久婷婷五月综合国产尤物app | 青青草原精品99久久精品66| 欧美成人免费观看久久| 久久久91人妻无码精品蜜桃HD| 久久99精品国产99久久| 99久久精品毛片免费播放| 一本久道久久综合狠狠爱| 久久久久精品国产亚洲AV无码| 久久影视综合亚洲| 久久亚洲天堂| 亚洲国产成人精品久久久国产成人一区二区三区综 | 国产成人久久激情91 | 久久精品成人欧美大片| 精品久久综合1区2区3区激情| 青草影院天堂男人久久| 久久综合中文字幕| 国产高潮国产高潮久久久91| 一本大道加勒比久久综合| 久久精品国产91久久麻豆自制| 国产精品99久久精品| 亚洲综合久久综合激情久久| 国内精品久久久久久久影视麻豆 |