省朝夕

           

          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 閱讀(277) 評論(0)  編輯  收藏 所屬分類: 一天一命令

          導航

          統計

          留言簿

          文章分類

          文章檔案

          搜索

          最新評論

          主站蜘蛛池模板: 长海县| 绥江县| 平南县| 汉阴县| 阿克苏市| 达州市| 盐山县| 阳春市| 墨玉县| 高安市| 安阳市| 武隆县| 泸定县| 姚安县| 舒兰市| 滨海县| 衢州市| 枞阳县| 东港市| 凌源市| 吉木萨尔县| 利川市| 潜江市| 平潭县| 康平县| 定西市| 长沙市| 临城县| 云梦县| 诸暨市| 屏东市| 修武县| 彰武县| 长寿区| 廉江市| 科尔| 襄汾县| 洪湖市| 遵义市| 手机| 斗六市|