shell脚本小记 ——字符串截取

shell脚本小记 ——字符串截取

前言:

之前一直没太认真琢磨。觉得网上有,不会的百度下。就是抱着这种态度,简单的几个技巧现在才一知半解。

正题

shell脚本字符串截取我大概想到有如下几种方式:
1. sed 
2. awk 
3. cut 
4. 通过# % 截取(不知道应该叫什么方法)

本文详细说明下第4种方式。为什么不说前三种呢,我个人觉得前三个命令用来截取字符串有点高射炮打蚊子。
  1. # 号截取,删除左边字符,保留右边字符,匹配第一个

    eg:
    var=http://www.vr7jj.com/api
    str=${var#*/}

    最后str为 /www.vr7jj.com/api

  2. ## 号截取,删除左边字符,保留右边字符,匹配最后一个

    eg:
    var=http://www.vr7jj.com/api
    str=${var##*/}

    最后str为 api

  3. % 号截取,删除右边字符,保留左边,匹配第一个

    eg:
    var=http://www.vr7jj.com/api
    str=${var%/*}

    最后str为 http://www.vr7jj.com

  4. %% 号截取,删除右边字符,保留左边,匹配最后一个

    eg:
    var=http://www.vr7jj.com/api
    str=${var%%/*}

    最后str为 http:

  5. 扩展 按位截取

    eg:
    var=http://www.vr7jj.com/api
    str1=${var:0:4} #左边第0个字符开始截3个数 结果 http
    str2=${var:7} #左边第7个字符一直到结束 结果 www.vr7jj.com/api
    str3=${var:0-15:10}#右边第15个字符开始取10位
    str4=${var:0-6}#右边第几个字符开始一直到结束

总结:

记忆方法 # 号脚本中用于注释常在行开头左边。所以#是从左边开发截取; %反这从右边截取。(用的少了,脑子不好使,常忘记)

猜你喜欢

转载自blog.csdn.net/vr7jj/article/details/70837216
今日推荐