你的位置:首页 > 操作系统

[操作系统]2.sort 排序命令讲解


sort命令

 sort:文本排序,仅仅是对显示文件的排序,而不影响源文件的顺序,是根据ASSII码
    的字符升序来排列的。 
      -n:安装数值大小从小到大排列 ,默认是升序。
      -r:降序排列  *****
      -t:指定字段分隔符,表示按点号分隔域(类似awk -F,取字段用$1,$2或cut的-d,取字段f数字) 
      -k:指定第几列或第几列的第几个字符,相当于cut -d "分隔符"中的 -f2 ****
      -u:对相同的行只输出一行  *****
      -f:忽略字符大小写
例题:取出【a-z】字幕,并且排序
  1. [root@nfs-server test]# cat test.txt
  2. 10.0.0.9 a
  3. 10.0.0.8 k
  4. 10.0.0.7 f
  5. 10.0.0.7 n
  6. 10.0.0.8 c
  7. 10.0.0.8 z
  8. 10.0.0.9 o

方法1:

  1. [root@nfs-server test]# cut -d " "-f2 test.txt|sort -n ##-d后面跟分隔符为空格,-f指定第2列,然后通过sort排序
  2. a
  3. c
  4. f
  5. k
  6. n
  7. o
  8. z

方法2:

  1. [root@nfs-server test]# awk -F ' ''{print $2}' test.txt|sort -n
  2. a
  3. c
  4. f
  5. k
  6. n
  7. o
  8. z

方法3:分隔符默认就是空格,因此-t可以省略。

  1. [root@nfs-server test]# sort -t " "-k2 test.txt
  2. 10.0.0.9 a
  3. 10.0.0.8 c
  4. 10.0.0.7 f
  5. 10.0.0.8 k
  6. 10.0.0.7 n
  7. 10.0.0.9 o
  8. 10.0.0.8 z
  9. [root@nfs-server test]#

可以简化为:

  1. [root@nfs-server test]# sort -k2 test.txt
  2. 10.0.0.9 a
  3. 10.0.0.8 c
  4. 10.0.0.7 f
  5. 10.0.0.8 k
  6. 10.0.0.7 n
  7. 10.0.0.9 o
  8. 10.0.0.8 z

例题2:实现对IP地址,分类倒序排序


排列方法: