• shell截取字符串方法


    转载:https://www.cnblogs.com/kevingrace/p/8868262.html

    2.1) # 最小限度从前面截取word
    语法:${parameter#*word} , 即截取 "第一个分隔符word及其之前的字符全部删掉"后的字符

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    [root@kevin~]# cat test.sh
    #!/bin/bash
    str="http://www.kevin.com/shibo/anhuigrace"
    echo "string: [${str}]"
     
    #分割符为'/'
    substr=${str#*/}
    echo "substr: [${substr}]"
     
    执行结果为:
    [root@kevin~]# sh test.sh
    string: [http://www.kevin.com/shibo/anhuigrace]
    substr: [/www.kevin.com/shibo/anhuigrace]

    2.2)## 最大限度从前面截取word
    语法:${parameter##*word},即截取 "最后一个分隔符word及其之前的字符全部删掉"后的字符

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    [root@kevin~]# cat test.sh 
    #!/bin/bash
    str="http://www.kevin.com/shibo/anhuigrace"
    echo "string: [${str}]"
     
    #分割符为'/'
    substr=${str##*/}
    echo "substr : [${substr}]"
     
    执行结果为:
    [root@kevin~]# sh test.sh 
    string: [http://www.kevin.com/shibo/anhuigrace]
    substr : [anhuigrace]
     
     

    3.1)% 最小限度从后面截取word
    语法:${parameter%word*},即截取 "最后一个分隔符word及其之后的字符全部删掉"后的字符

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    [root@kevin~]# cat test.sh
    #!/bin/bash
    str="http://www.kevin.com/shibo/anhuigrace"
    echo "string: [${str}]"
     
    substr=${str%/*}
    echo "substr : [${substr}]"
     
    执行结果为:
    [root@kevin~]# sh test.sh
    string: [http://www.kevin.com/shibo/anhuigrace]
    substr : [http://www.kevin.com/shibo]

    3.2)%% 最大限度从后面截取word
    语法:${parameter%%*word},即截取 "第一个分隔符word及其之后的字符全部删掉"后的字符

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    [root@kevin~]# cat test.sh
    #!/bin/bash
    str="http://www.kevin.com/shibo/anhuigrace"
    echo "string: [${str}]"
     
    substr=${str%%/*}
    echo "substr : [${substr}]"
     
    执行结果为:
    [root@kevin~]# sh test.sh
    string: [http://www.kevin.com/shibo/anhuigrace]
    substr : [http:]
  • 相关阅读:
    BZOJ3098 Hash Killer II 【概率】
    BZOJ4010 [HNOI2015]菜肴制作 【拓扑排序 + 贪心】
    洛谷P4364 [九省联考2018]IIIDX 【线段树】
    洛谷P4363 [九省联考2018]一双木棋chess 【状压dp】
    洛谷P2664 树上游戏 【点分治 + 差分】
    BZOJ1189 [HNOI2007]紧急疏散evacuate 【二分 + 网络流】
    BZOJ1068 [SCOI2007]压缩 【区间dp】
    BZOJ4033 [HAOI2015]树上染色 【树形dp】
    BZOJ4819 [Sdoi2017]新生舞会 【01分数规划 + 费用流】
    排序
  • 原文地址:https://www.cnblogs.com/to-here/p/14623598.html
Copyright © 2020-2023  润新知