sort 命令是一个对文件的内容进行排序,当然它支持管道符,sort命令也是一个比较简单的命令,但是使用上有些细节需要注意的,例如:
[root@localhost ~]# sort -t ":" -k 3 /etc/passwd 这命令什么意思呢?读取/etc/passwd 文件的内容,将其每行内容使用:进行分割,然后按照第三个字段进行排序,第三个字段的排序是数字型,我们希望按照从小到大排序,但是实际结果并非这样
怎么解决这样的问题? 看下面的列子
root:x:0:0:root:/root:/bin/bash
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
[root@localhost ~]# sort -n -t ":" -k 3 /etc/passwd 我们加上-n 即可,man sort 告诉我们按照数值型排序
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync