sort 命令范例

原文地址

  1.  基础
  2.  常用命令

 

sort命令可以对一个文件中的文本行进行排序. 以下几个例子来演示如何使用sort命令, 样例文本是雇员数据, 格式如下: employee_name:employee_id:department_name.

[root@hexu.org ~]# cat names.txt
Emma Thomas:100:Marketing
Alex Jason:200:Sales
Madison Randy:300:Product Development
Sanjay Gupta:400:Support
Nisha Singh:500:Sales

1) 以升序对文本排序

[root@hexu.org ~]# sort names.txt
Alex Jason:200:Sales
Emma Thomas:100:Marketing
Madison Randy:300:Product Development
Nisha Singh:500:Sales
Sanjay Gupta:400:Support



2) 以降序对文本排序

[root@hexu.org ~]# sort -r names.txt
Sanjay Gupta:400:Support
Nisha Singh:500:Sales
Madison Randy:300:Product Development
Emma Thomas:100:Marketing
Alex Jason:200:Sales


3) 对一个使用冒号分隔的文件的第二项进行排序(也就是 employee_id)

[root@hexu.org ~]# sort -t: -k 2 names.txt
Emma Thomas:100:Marketing
Alex Jason:200:Sales
Madison Randy:300:Product Development
Sanjay Gupta:400:Support
Nisha Singh:500:Sales

4) 使用 tab分隔的第三项进行排序(department_id),并去掉重复项

[root@hexu.org ~]# sort -t: -u -k 3 names.txt
Emma Thomas:100:Marketing
Madison Randy:300:Product Development
Alex Jason:200:Sales
Sanjay Gupta:400:Support


5) passwd 文件的第三项进行排序(userid)

[root@hexu.org ~]# sort -t: -k 3n /etc/passwd | more
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


6) 基于ip地址对/etc/hosts文件排序

[root@hexu.org ~]# sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.100.101 dev-db.thegeekstuff.com dev-db
192.168.100.102 prod-db.thegeekstuff.com prod-db
192.168.101.20 dev-web.thegeekstuff.com dev-web
192.168.101.21 prod-web.thegeekstuff.com prod-web


7) 与其它命令组合在一起使用


[root@hexu.org ~]#ps -ef | sort 对进程列表进行排序
[root@hexu.org ~]#ls -al | sort +4n 使用升序对 ls -al 的输出以文件大小进行排序(第 5 项)
[root@hexu.org ~]#ls -al | sort +4nr 使用降序对 ls -al 的输出以文件大小进行排序(第 5 项)


 

查询最后十行数据 按行号降序显示

cat -n /var/log/test.log |grep "wix"|tail -10| sort -r


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值