省朝夕

           

          Linux-sort

          sort命令


          用途 

          用于文本排序的命令,以文本行為單位按照ascii碼順序進行排序。支持去重、逆序等規則。

          用法

          sort [option] filename
          -b,--ignore-leading-blanks    忽略每一行前面的所以空白部分,僅從第一個可見字符開始比較排序
          -u,--unique    去重
          -r, --reverse    逆序排序
          -o,--output    重定向輸入到指定的文件(與>重定向不一樣,使用>重定向不能重定向到原有文件,-o是用于排序后,再次重定向到原文件)
          -n,--numeric-sort    根據數字值大小排序(比如10,2正常排序,如果不添加-n,就會依據ascii碼排成:10,2)
          -k, --key=2[,5]    以第二到第五部分作為key進行排序
          -t,--field-separator=SEP    以SEP為分隔符分割每一行字符(常與-k合用)

          示例

          1、若有文本hjc.txt內容如下:
           3
          1
           2
          10
          則sort hjc.txt,輸出為:
          1
          10
          2
          3
          添加選項:-n 即完整名:sort -n hjc.txt 輸出為:
          1
          2
          3
          10
          2、若有文件hello.txt內容如下:
          International Labour Day:3
          marriage leave:15
          National Day:7
          Spring Festival:5
          Weekend Day:2
          每一行以分號分割,分別表示假期和放假天數。現在想進行有意義的排序:按照放假天數由多到少進行排序,并把排序結果重新寫會到hello.txt,則命令是:
          sort -n -r -k 2 -t: hello.txt -o hello.txt
          排序后結果為:
          marriage leave:15
          National Day:7
          Spring Festival:5
          International Labour Day:3
          Weekend Day:2

          注意:sort a > a ,后果很嚴重,數據沒了。并不是期望的把排序結果再寫會到a,正確應該是:sort a -o a。(我想不會有人會故意用sort a>a來清空數據吧,那么為什么Linux還允許這種極易出錯的命令存在而毫無警示呢? )

           

          posted on 2013-05-01 11:52 hejianchao 閱讀(280) 評論(0)  編輯  收藏 所屬分類: 一天一命令

          導航

          統計

          留言簿

          文章分類

          文章檔案

          搜索

          最新評論

          主站蜘蛛池模板: 安平县| 蓝田县| 古田县| 华容县| 犍为县| 赤壁市| 蒙城县| 濮阳县| 上蔡县| 靖西县| 新营市| 延津县| 綦江县| 万荣县| 满洲里市| 弋阳县| 米易县| 孝昌县| 吉安县| 利辛县| 肃宁县| 哈巴河县| 洪江市| 铜鼓县| 故城县| 钦州市| 佛教| 陆丰市| 邯郸市| 海晏县| 乌审旗| 富源县| 黑龙江省| 攀枝花市| 台北县| 东丽区| 丽水市| 淮南市| 涡阳县| 河南省| 南康市|