Linux命令学习:sort命令sort命令对File参数指定的文件中的行进行排序,并将结果写入标准输出。如果File参数指定了多个文件,则sort命令会连接这些文件并将它们作为一个文件进行排序。格式:sort[-fbMnrtuk][fileorstdin]选项及参数:-f:忽略大小写的区别,如A和a视为相同编码;-b:忽略空格字符的前面部分;-M:使用月份按名称排序,如JAN、DEC等;-n:使用“纯数字”排序(默认是按文本排序);-r:反向排序;-u:是uniq,在相同的数据中,只出现一行;-t:分隔符,默认使用[tab]键分隔;-k:按那个区间(字段)排序的意思案例:对/etc/passwd的账号进行排序[root@www~]#cat/etc/passwd|sortadm:x:3:4:adm:/var/adm:/sbin/nologinapache:x:48:48:Apache:/var/www:/sbin/nologinbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinsort默认按第一个数据排序,以字符串形式排序指定用于排序的数据[root@www~]#cat/等/密码|sort-t':'-k3root:x:0:0:root:/root:/bin/bashuucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologinoperator:x:11:0:operator:/root:/sbin/nologinbin:x:1:1:bin:/bin:/sbin/nologinames:x:12:100:games:/usr/games:/sbin/nologin使用-t指定分隔符,然后用-k指定要排序的字段,也就是第三个字段按数字排序cat/etc/passwd|sort-t':'-k3nroot:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/bin/shbin:x:2:2:bin:/bin:/bin/shsort默认按字符串升序排序。如果我想按数字排序,只需要指定-n,默认是升序排序。如果我想倒序排序排序猫/etc/passwd|sort-t':'-k3nrnobody:x:65534:65534:nobody:/nonexistent:/bin/shntp:x:106:113::/home/ntp:/bin/falsemessagebus:x:105:109::/var/run/dbus:/bin/falsesshd:x:104:65534::/var/run/sshd:/usr/sbin/nologin多个排序字段和多个规则如果要/etc/passwd,先执行forward从第6个字段的第2个字符到第4个字符排序,然后根据第一个字段进行反向排序cat/etc/passwd|sort-t':'-k6.2,6.4-k1rsync:x:4:65534:sync:/bin:/bin/syncproxy:x:13:13:proxy:/bin:/bin/shbin:x:2:2:bin:/bin:/bin/shsys:x:3:3:sys:/dev:/bin/sh多个排序规则,只需指定多个-k...组合进行排序和去重检查有多少shell/etc/passwd中有:对??/etc/passwd的第七个域进行排序,然后进行去重:cat/etc/passwd|sort-t':'-k7-uroot:x:0:0:root:/root:/bin/bashsyslog:x:101:102::/home/syslog:/bin/falsedaemon:x:1:1:daemon:/usr/sbin:/bin/shsync:x:4:65534:sync:/bin:/bin/syncsshd:x:104:65534::/var/run/sshd:/usr/sbin/nologin是-u去重
