Linux Shell脚本编程 --sort命令

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

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值