sort,排序的,今天搞定这个命令,记录下我学习理解过程的重点的,或者说容易忘的内容。
1、sort 院原理
以行为单位进行排序,从收字符逐个往后,按照ASCII码值比较,然后升序输出
ipnetc@linux-zuz4:~/cdx> sort test.txt
ipneta:x:1011:1000::/opt/ipneta:/bin/bash
ipnetc:x:1002:1000::/opt/ipnetc:/bin/bash
ipnet:x:1000:1000::/opt/ipnet:/bin/bash
jiekou:x:1007:1000::/opt/jiekou:/bin/bash
messagebus:x:100:101:User for D-BUS:/var/run/dbus:/bin/false
Resultprocessor:x:1001:1000::/opt/Resultprocessor:/bin/bash
root:x:0:0:root:/root:/bin/bash
serqulity:x:1010:1000::/opt/serqulity:/bin/bash
suse-ncc:x:102:105:Novell Customer Center User:/var/lib/YaST2/suse-ncc-fakehome:/bin/bash
uucp:x:10:14:Unix-to-Unix CoPy system:/etc/uucp:/bin/bash
2、sort -n 以数值排序
升序输出的结果里,10反而小于2了,这是以往内这些数字不是以数字排序的,而是以字符排序的。要想以数字排序,就需要-n 选项,即是number的缩写。
ipnetc@linux-zuz4:~/cdx> sort number.txt
1
10
11
19
2
5
ipnetc@linux-zuz4:~/cdx> sort -n number.txt
1
2
5
10
11
19
3、sort -r 选项,降序排序
ipnetc@linux-zuz4:~/cdx> sort -rn number.txt
19
11
10
5
2
1
4、sort - u选项 去掉重复行选项 ,-u即是unique的缩写
ipnetc@linux-zuz4:~/cdx> more unique.txt
root:x:0:0:root:/root:/bin/bash
root:x:0:0:root:/root:/bin/bash
serqulity:x:1010:1000::/opt/serqulity:/bin/bash
ipnetc@linux-zuz4:~/cdx> sort -u unique.txt
root:x:0:0:root:/root:/bin/bash
serqulity:x:1010:1000::/opt/serqulity:/bin/bash