zoukankan      html  css  js  c++  java
  • Linux Shell 截取字符串

    Linux Shell 截取字符串


    shell中截取字符串的方法很多

    ${var#*/}
    ${var##*/}
    ${var%/*}
    ${var%%/*}
    ${var:start:len}
    ${var:start}
    ${var:0-start:len}
    ${var:0-start}

    下面用几个例子展示一下:

    1) 获得字符串的长度

    语法:

    ${#var}

    示例代码:

    str="http://www.fengbohello.xin3e.com/blog/shell-truncating-string"
    echo "string : [${str}]"
    
    length=${#str}
    echo "length : [${length}]"

    执行结果:

    string : [http://www.fengbohello.xin3e.com/blog/shell-truncating-string]
    length : [61]

    2) 使用 # 和 ## 获取尾部子字符串

    2.1) # 最小限度从前面截取word

    语法:

    ${parameter#word}  

    示例代码:

    str="http://www.fengbohello.xin3e.com/blog/shell-truncating-string"
    echo "string : [${str}]"
    
    #分割符为'/'
    substr=${str#*/}
    echo "substr : [${substr}]"

    执行结果:

    string : [http://www.fengbohello.xin3e.com/blog/shell-truncating-string]
    substr : [/www.fengbohello.xin3e.com/blog/shell-truncating-string]

    2.2) ## 最大限度从前面截取word

    语法:

    ${parameter##word}

    示例代码:

    str="http://www.fengbohello.xin3e.com/blog/shell-truncating-string"
    echo "string : [${str}]"
    
    #分割符为'/'
    substr=${str##*/}
    echo "substr : [${substr}]"

    执行结果:

    string : [http://www.fengbohello.xin3e.com/blog/shell-truncating-string]
    substr : [shell-truncating-string]

    3) 使用 % 和 %% 获取头部子字符串

    3.1) % 最小限度从后面截取word

    语法:

    ${parameter%word} 

    示例代码:

    str="http://www.fengbohello.xin3e.com/blog/shell-truncating-string"
    echo "string : [${str}]"
    
    substr=${str%/*}
    echo "substr : [${substr}]"

    执行结果:

    string : [http://www.fengbohello.xin3e.com/blog/shell-truncating-string]
    substr : [http://www.fengbohello.xin3e.com/blog]

    3.2) %% 最大限度从后面截取word

    语法:

    ${parameter%%word}

    示例代码:

    str="http://www.fengbohello.xin3e.com/blog/shell-truncating-string"
    echo "string : [${str}]"
    
    substr=${str%%/*}
    echo "substr : [${substr}]"

    执行结果:

    string : [http://www.fengbohello.xin3e.com/blog/shell-truncating-string]
    substr : [http:]

    4)使用 ${var:} 模式获取子字符串

    4.1) 指定从左边第几个字符开始以及子串中字符的个数

    语法:

    ${var:start:len}

    示例代码:

    str="http://www.fengbohello.xin3e.com/blog/shell-truncating-string"
    echo "string : [${str}]"
    
    #其中的 0 表示左边第一个字符开始,7 表示子字符的总个数。
    substr=${str:0:7}
    echo "substr : [${substr}]"

    执行结果:

    string : [http://www.fengbohello.xin3e.com/blog/shell-truncating-string]
    substr : [http://]

    4.2) 从左边第几个字符开始一直到结束

    语法:

    ${var:7}

    示例代码:

    str="http://www.fengbohello.xin3e.com/blog/shell-truncating-string"
    echo "string : [${str}]"
    
    #其中的 7 表示左边第8个字符开始
    substr=${str:7}
    echo "substr : [${substr}]"

    执行结果:

    string : [http://www.fengbohello.xin3e.com/blog/shell-truncating-string]
    substr : [www.fengbohello.xin3e.com/blog/shell-truncating-string]

    4.3) 从右边第几个字符开始以及字符的个数

    语法:

    ${var:0-start:len}

    示例代码:

    str="http://www.fengbohello.xin3e.com/blog/shell-truncating-string"
    echo "string : [${str}]"
    
    #其中的 0-23 表示右边算起第23个字符开始,5 表示字符的个数
    substr=${str:0-23:5}
    echo "substr : [${substr}]"

    执行结果:

    string : [http://www.fengbohello.xin3e.com/blog/shell-truncating-string]
    substr : [shell]

    4.4) 从右边第几个字符开始一直到结束

    语法:

    ${var:0-start}

    示例代码:

    str="http://www.fengbohello.xin3e.com/blog/shell-truncating-string"
    echo "string : [${str}]"
    
    #其中的 0-6 表示右边算起第6个字符开始
    substr=${str:0-6}
    echo "substr : [${substr}]"

    执行结果:

    string : [http://www.fengbohello.xin3e.com/blog/shell-truncating-string]
    substr : [string]

    同步发表:http://www.fengbohello.top/point/p/629

  • 相关阅读:
    HDU 1874 畅通工程续 (Dijkstra , Floyd , SPFA, Bellman_Ford 四种算法)
    HDU Wooden Sticks
    HDU 3664 Permutation Counting
    javascript DOM添加元素,使用节点属性
    SQL server查询数据类型为ntext是空或NULL值
    TSQL Pivot Tables(行列转换) in SQL Server 2005/2008
    ASP.NET 3.5(c#)区域化设置(LCID)
    Sql 脚本导入EXCEL数据
    asp.net 3.5 csharp 实现事务
    asp.net3.5 csharp: How to show HTML content in calendar tooltip?
  • 原文地址:https://www.cnblogs.com/fengbohello/p/5954895.html
Copyright © 2011-2022 走看看