sort命令
sort:文本排序,仅仅是对显示文件的排序,而不影响源文件的顺序,是根据ASSII码
的字符升序来排列的。
-n:安装数值大小从小到大排列 ,默认是升序。
-r:降序排列 *****
-t:指定字段分隔符,表示按点号分隔域(类似awk -F,取字段用$1,$2或cut的-d,取字段f数字)
-k:指定第几列或第几列的第几个字符,相当于cut -d "分隔符"中的 -f2 ****
-u:对相同的行只输出一行 *****
-f:忽略字符大小写
例题:取出【a-z】字幕,并且排序
[root@nfs-server test]# cat test.txt
10.0.0.9 a
10.0.0.8 k
10.0.0.7 f
10.0.0.7 n
10.0.0.8 c
10.0.0.8 z
10.0.0.9 o
方法1:
[root@nfs-server test]# cut -d " "-f2 test.txt|sort -n ##-d后面跟分隔符为空格,-f指定第2列,然后通过sort排序
a
c
f
k
n
o
z
方法2:
[root@nfs-server test]# awk -F ' ''{print $2}' test.txt|sort -n
a
c
f
k
n
o
z
方法3:分隔符默认就是空格,因此-t可以省略。
[root@nfs-server test]# sort -t " "-k2 test.txt
10.0.0.9 a
10.0.0.8 c
10.0.0.7 f
10.0.0.8 k
10.0.0.7 n
10.0.0.9 o
10.0.0.8 z
[root@nfs-server test]#
可以简化为:
[root@nfs-server test]# sort -k2 test.txt
10.0.0.9 a
10.0.0.8 c
10.0.0.7 f
10.0.0.8 k
10.0.0.7 n
10.0.0.9 o
10.0.0.8 z
例题2:实现对IP地址,分类倒序排序
排列方法: