sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
举例说明
[root@zhoucentos log]# cat seq
banana
apple
pear
orange
[root@zhoucentos log]# sort seq
apple
banana
orange
pear
sort -u
sort的-u 选项它的作用很简单,就是在输出行中去除重复行。
[root@zhoucentos log]# cat seq
banana
apple
pear
orange
apple
pear
[root@zhoucentos log]# sort -u seq
apple
banana
orange
pear
sort -n
你有没有遇到过10比2小的情况。我反正遇到过。出现这种情况是由于排序程序将这些数字按字符来排序了,排序程序会先比较1和2,显然1小,所以就将10放在2前面喽。这也是sort的一贯作风。
[root@zhoucentos log]# cat number
3
5
11
[root@zhoucentos log]# sort number
11
3
5
[root@zhoucentos log]# sort -n number
2
4
11
sort -t -k 选项
# cat facebook.txt
google 110 5000
baidu 100 5000
guge 50 3000
sohu 100 4500
我想让facebook.txt按照公司人数排序 ,人数相同的按照员工平均工资升序排序:
# sort -n -t ' ' -k 2 -k 3 facebook.txt
guge 50 3000
sohu 100 4500
baidu 100 5000
google 110 5000