• sort命令


    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

     1 以文件的每行为单位,从左往右依次按ascii码进行比较
     2 
     3 sort sort.txt #默认为升序
     4 
     5 -u:去除重复行
     6     sort -u sort.txt
     7 -r:降序排列
     8     sort -r sort.txt
     9 -o:重定向到源文件
    10     sort -r -o sort.txt
    11 -n:以数字的真实值比价大小,如果不加则会出现 2 排在 10 前面的情况
    12     sort -n sort.txt
    13 -t:分隔符 -k:位置
    14     sort -n -t : -k 2 sort.txt #以冒号进行分割,然后取第二列进行数字比较
  • 相关阅读:
    css解决display:inline-block;产生的缝隙(间隙)
    js二进制与十进制互转
    js获取HTTP的请求头信息
    安装WampServer时出现的问题(丢失VCRUNTIME140.dll或MSVCR110.dll)以及解决办法
    学习安装并配置前端自动化工具Gulp
    解决overflow:hidden在安卓微信页面没有效果的办法
    Python 调用 ES、Solr、Phoenix
    Python 调用 Hprose接口、Dubbo接口、Java方法
    Python调用Redis
    robot用例执行常用命令(转)
  • 原文地址:https://www.cnblogs.com/qmfsun/p/3841646.html
Copyright © 2020-2023  润新知