zoukankan      html  css  js  c++  java
  • linux命令-sort

    1. 主要选项

    对文本行排序。
    默认排序规则:
    空白在前,字符在后;
    大写在前,小写在后;

    选项 说明
    -b 忽略前导的空白符;
    -f 忽略大小写;
    -t 指定分隔符,"-t:"指定:为分隔符;
    -k 指定比较的字段,-k 2,表示比较第二个字段;-k2.1,2.3表示从第2个字段的第1个字符,比较到2个字段的第3个字符;
    -n 以整数数字比较;

    2. 默认排序

    示例文本, 后续命令都使用该文本

    $ cat log.txt
    a40:123
    
    a5:400
        c12:60
        c5:59
    B30:7
    b4:9
    

    说明:默认排序,空白在前/字符在后,大写在前/小写在后

    命令:

    $ sort log.txt
    
        c12:60
        c5:59
    B30:7
    a40:123
    a5:400
    b4:9
    

    3. 忽略前导空白字符

    说明:略
    命令:

    $ sort -b log.txt
    
    B30:7
    a40:123
    a5:400
    b4:9
        c12:60
        c5:59
    

    4. 忽略大小写

    说明:略
    命令:

    $ sort -f log.txt
    
        c12:60
        c5:59
    a40:123
    a5:400
    B30:7
    b4:9
    

    5. 指定分隔符、指定比较的字段

    说明:
    "-t:", 指定冒号为分隔符
    "-k2", 指定通过比较第二个字段来排序
    "-k2.1,2.2", 指定通过比较第二个字段的前两位来排序, 例子见-n选项

    下例中,按第二个字段排序:123,400,59,60,7,9
    命令:

    $ sort -t: -k2 log.txt
    
    a40:123
    a5:400
        c5:59
        c12:60
    B30:7
    b4:9
    

    6. 以整数数字大小排序

    说明:默认情况下,11排在前面,9排在后面,要按数字大小排序,使用-n选项
    命令:第二个字段以数字大小排序:7,9,59,60,123,400

    $ sort -t: -k2 -n log.txt
    
    B30:7
    b4:9
        c5:59
        c12:60
    a40:123
    a5:400
    $ 
    $ sort -t: -k2.1,2.2  -n log.txt #按前两位的整数大小排序,所以400排在59前面。
    
    B30:7
    b4:9
    a40:123
    a5:400
        c5:59
        c12:60
    
  • 相关阅读:
    oracle的nvl函数的用法
    简单实用的MD5加密算法
    oracle触发器使用笔记
    Html学习
    连接字符串
    oracle触发器使用笔记2
    oracle中如何给有空值的数据排序
    Zend Frame 添加Smarty模板引擎
    HDU 2464 A Pair of Graph
    POJ 1466 Girls and Boys
  • 原文地址:https://www.cnblogs.com/gaiqingfeng/p/13573161.html
Copyright © 2011-2022 走看看