zoukankan      html  css  js  c++  java
  • bash 字符串处理

    获取字符串长度

    • %x="abcd"
    • #方法一
    • %expr length $x
    • 4
    • # 方法二
    • %echo ${#x}
    • 4
    • # 方法三
    • %expr "$x" : ".*"
    • 4
    • # expr 的帮助
    • # STRING : REGEXP   anchored pattern match of REGEXP in STRING


    查找子串

    • %expr index  $x "b"
    • 2
    • %expr index  $x "a"
    • 1
    • %expr index  $x "b"
    • 2
    • %expr index  $x "c"
    • 3
    • %expr index  $x "d"

    得到子字符串

    • # 方法一
    • # expr <string> startpos length
    • %expr substr "$x" 1 3
    • abc
    • %expr substr "$x" 1 5
    • abcd
    • %expr substr "$x" 2 5
    • bcd
    • # 方法二
    • # ${x:pos:lenght}
    • %echo ${x:1}
    • bcd
    • %echo ${x:2}
    • cd
    • %echo ${x:0}
    • abcd
    • %echo ${x:0:2}
    • ab
    • %pos=1
    • %len=2
    • %echo ${x:$pos:$len}
    • bc

     匹配正则表达式

    • # 打印匹配长度
    • %expr match $x "."
    • 1
    • %expr match $x "abc"
    • 3
    • %expr match $x "bc"
    • 0

    字符串的掐头去尾

    • %x=aabbaarealwwvvww
    • %echo "${x%w*w}"
    • aabbaarealwwvv
    • %echo "${x%%w*w}"
    • aabbaareal
    • %echo "${x##a*a}"
    • lwwvvww
    • %echo "${x#a*a}"
    • bbaarealwwvvww

    其中 , # 表示掐头, 因为键盘上 # 在 $ 的左面。
    其中 , % 表示%,  因为键盘上 % 在 $ 的右面。
    单个的表示最小匹配,双个表示最大匹配。
    也就是说,当匹配的有多种方案的时候,选择匹配的最大长度还是最小长度。

    字符串的替换

    • %x=abcdabcd
    • %echo ${x/a/b} # 只替换一个
    • bbcdabcd
    • %echo ${x//a/b} # 替换所有
    • bbcdbbcd

    不可以使用 regexp , 只能用 * ? 的文件扩展方式。

  • 相关阅读:
    S32K142学习记录_day1
    dsPIC33EP单片机的PPS(外设引脚选择)
    零欧电阻
    MOS管的栅极和源极之间的电阻
    RDLC表格排序设置
    SQL相关
    使用sql的xmlpath可以把xml文件转化为表格
    Visual Studio2017 无法折叠
    使用图形化界面打包自己的类库
    初识NuGet及快速安装使用
  • 原文地址:https://www.cnblogs.com/lpfuture/p/3702212.html
Copyright © 2011-2022 走看看