[root@linux ~]# sort [-fbMnrtuk] [file or stdin]
参数∶
-f ∶忽略大小写的差异,例如 A 与 a 视为编码相同;
-b ∶忽略最前面的空白字元部分;
-M ∶以月份的名字来排序,例如 JAN, DEC 等等的排序方法;
-n ∶使用『纯数字』进行排序(预设是以文字型态来排序的);
-r ∶反向排序;
-u ∶就是 uniq ,相同的资料中,仅出现一行代表;
-t ∶分隔符号,预设是 tab 键;
-k ∶以那个区间 (field) 来进行排序的意思,范例∶
范例一∶个人帐号都记录在 /etc/passwd 下,请将帐号进行排序。
[root@linux ~]# cat /etc/passwd | sort
adm:x:3:4:adm:/var/adm:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
# 我省略很多的输出~由上面的资料看起来, sort
是预设『以第一个』资料来排序,
# 而且预设是以『文字』型态来排序的喔!所以由 a 开始排到最后棉!
范例二∶/etc/passwd 内容是以 : 来分隔的,我想以第三栏来排序,该如何?
[root@linux ~]# cat /etc/passwd | sort -t ':' -k 3
root:x:0:0:root:/root:/bin/bash
iiimd:x:100:101:IIIMF server:/usr/lib/iiim:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
# 看到特殊字体的输出部分了吧?怎么会这样排列啊?呵呵!没错啦~
# 如果是以文字型态来排序的话,原本就会是这样,想要使用数字排序∶
# cat /etc/passwd | sort -t ':' -k 3 -n
# 这样才行啊!用那个 -n 来告知 sort 以数字来排序啊!
范例三∶利用 last ,将输出的资料仅取帐号,并加以排序
[root@linux ~]# last | cut -d ' ' -f1 | sort