zoukankan      html  css  js  c++  java
  • Bash:字符串操作

    参考:http://blog.csdn.net/finewings/article/details/5718133

    字符串提取

    去掉指定前缀

    1. ${varible#pattern}               从头开始,左往右,删除最短的一个pattern结尾的字符串,即截取第一个pattern结尾子串之后的字符串

    例如在集群中服务器的主机名一般都是node000,node001,node002之类的有时我们只想提取这个数字编码ID就可以像如下这样:

    ubuntu@dev00:~$ hn=$(hostname)
    
    ubuntu@dev00:~$ echo ${hn#dev}
    00

    当前机器名为dev00,当然还可以加入使用通配符,比如*

    $ x="abcdefg"
    $ echo ${x#*'cd'}
    efg

    连前面的ab都去掉了

    2. ${varible##pattern}               从头开始,左往右,删除最长的一个以pattern结尾的子串,即截取最后一个以pattern结尾子串之后的字符串(类似正则里面的贪婪)

    例子:将x=“009”~“019”这些字符提取为没有前导零的形式,由于x中可能有不定个零,可以以最后一个0为截断位置

    ubuntu@dev00:~$ x='009'
    ubuntu@dev00:~$ echo ${x##*0}
    9

    去除指定后缀

    这个和‘去除指定前缀’几乎一样,就是方向变了一下,相应的表示的符号也换了一下:

    1. ${variable%pattern}

    2. ${variable%%pattern}

    固定位置

    ${varible:start:len}              :截取变量varible从位置start开始长度为len的子串。第一个字符的位置为0。

    这个和一般语言里的substr(index, len)一致,(hn=‘dev00’)

    ubuntu@dev00:~$ echo ${hn:3:2}
  • 相关阅读:
    C++中 结构体和类的异同
    c++sizeof大全
    10th week task -3 Arrow function restore
    10th week task -2 Object 的起源
    js 的起源故事
    10th week task -1
    9th week -the history of program 1950~2020
    javascript统计一个字符在一段字符串出现次数
    Grid layout
    BOM DOM区别 来源
  • 原文地址:https://www.cnblogs.com/lailailai/p/4565621.html
Copyright © 2011-2022 走看看