zoukankan      html  css  js  c++  java
  • shell 字符截取

    Linux 的字符串截取很有用。有八种方法。

    假设有变量 var=http://www.aaa.com/123.htm.

    # 读sharp 谐音 杀:

    ${var#*//}  杀掉//左边的,保留右边的

     %在c语言中有站位之意,如%d,%s

    ${var%*//}

    取得//右边的字符

    1. # 号截取,删除左边字符,保留右边字符。

    echo ${var#*//}

    其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符
    即删除 http://
    结果是 :www.aaa.com/123.htm

    2. ## 号截取,删除左边字符,保留右边字符。

    echo ${var##*/}

    ##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
    即删除 http://www.aaa.com/

    结果是 123.htm

    3. %号截取,删除右边字符,保留左边字符

    echo ${var%/*}

    %/* 表示从右边开始,删除第一个 / 号及右边的字符

    结果是:http://www.aaa.com

    4. %% 号截取,删除右边字符,保留左边字符

    echo ${var%%/*}

    %%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符
    结果是:http:

    5. 从左边第几个字符开始,及字符的个数

    echo ${var:0:5}

    其中的 0 表示左边第一个字符开始,5 表示字符的总个数。
    结果是:http:

    6. 从左边第几个字符开始,一直到结束。

    echo ${var:7}

     

    其中的 7 表示左边第8个字符开始,一直到结束。
    结果是 :www.aaa.com/123.htm

    7. 从右边第几个字符开始,及字符的个数

    echo ${var:0-7:3}

    其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。
    结果是:123

    8. 从右边第几个字符开始,一直到结束。

    echo ${var:0-7}

    表示从右边第七个字符开始,一直到结束。
    结果是:123.htm

    注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)

    ci@clinux:~$ var=http://www.aaa.com/123.htm
    ci@clinux:~$ echo var
    var
    ci@clinux:~$ echo $var
    http://www.aaa.com/123.htm
    ci@clinux:~$ echo ${var#*//}
    www.aaa.com/123.htm
    ci@clinux:~$ echo ${var#*/}
    /www.aaa.com/123.htm
    ci@clinux:~$ echo ${var##*/}
    123.htm
    ci@clinux:~$ echo ${var%*/}
    http://www.aaa.com/123.htm
    ci@clinux:~$ echo ${var%/}
    http://www.aaa.com/123.htm
    ci@clinux:~$ echo ${var%/*}
    http://www.aaa.com
    ci@clinux:~$ echo ${var%%/*}
    http:
    ci@clinux:~$ echo ${var:1:1}
    t
    ci@clinux:~$ echo ${var:3:5}
    p://w
    ci@clinux:~$ echo ${var::5}
    http:
    ci@clinux:~$ echo ${var:5}
    //www.aaa.com/123.htm
    ci@clinux:~$ echo ${var:0-2:5}
    tm
    ci@clinux:~$ echo ${var:0-6:5}
    23.ht
    ci@clinux:~$ echo ${var:0-6}
    23.htm
    ci@clinux:~$ 
  • 相关阅读:
    iptables详解
    Linux文件结构及基本文件夹
    linux的一些常用命令
    Sql Server REPLACE函数的使用
    MSSQL复制表操作
    MSSQL2005数据库显示单一用户模式,无法进行任何操作
    linux下查看所有用户及所有用户组
    SpringMVC基础-10-拦截器
    SpringMVC基础-09-文件上传(单文件、多文件上传)
    SpringMVC基础-08-数据转换 & 数据格式化 & 数据校验
  • 原文地址:https://www.cnblogs.com/conncui/p/substring.html
Copyright © 2011-2022 走看看