• shell 截取变量的字符串


    假设有变量 var=http://www.linuxidc.com/test.htm
    一 # 号截取,删除左边字符,保留右边字符。
    echo ${var#*//}
    其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符
    即删除 http://
    结果是 :www.linuxidc.com/test.htm

    二 ## 号截取,删除左边字符,保留右边字符。
    echo ${var##*/}
    ##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
    即删除 http://www.linuxidc.com/        
    结果是 test.htm
    三 %号截取,删除右边字符,保留左边字符
    echo ${var%} #显示结果sbin/ntpdate
        3.2 由字符串前面开始对比删除最长的相符者
                 语法:${待测变量##样式}
                 实例:
                    filename="/usr/sbin/ntpdate"
                    echo ${filename##} #显示结果sbin/ntpdate
        3.2 由字符串前面开始对比删除最长的相符者
                 语法:${待测变量##样式}
                 实例:
                    filename="/usr/sbin/ntpdate"
                    echo ${filename##/*/}  #显示结果ntpdate
        3.3 由字符串后面开始对比删除最短的相符者
                 语法:${待测变量%样式}
                 实例:
                   filename="/usr/sbin/ntpdate"
                   echo ${filename%/*} #输出结果/usr/sbin
        3.4 由字符串后面开始对比删除最长的相符者
                 语法:${待测变量%%样式}
                 实例:
                   filename="hello/usr/sbin/ntpdate"
                   echo ${filename%%/*} #输出结果hello
      
    4.替换或删除部分字符串
     
       4.1 只替换找到的第一个字符串
            语法:${待测变量/样式/替换}
            实例:
                 str="hello hello"
                 echo ${str/hello/world}  #结果为world hello
       4.2 替换找到的所有样式字符串
            语法:${待测变量//样式/替换}
            实例:
                 str="hello hello"
                 echo ${str/hello/world}  #结果为world world
       4.3 删除第一个指定的字符串
            语法:${待测变量/要删除的字符串/}
            实例:
                 str="hello hello"
                 echo ${str/hello/}  #结果为hello
        4.4 删除所有指定的字符串
            语法:${待测变量//要删除的变量/}
            实例:
                 str="hello world hello"
                 echo ${str//hello/} #输出结果为world
    5.命令扩展
        语法:$(命令)
        实例: time=$(date) 等价 time=`date`
    6.算术扩展
        语法:$((算术))
        实例:
      echo "a=$((5*5))" #结果为a=25

  • 相关阅读:
    常用等价无穷小
    高等数学: #n阶线性微分方程 #伯努利方程
    基本积分表
    复杂度计算
    多重链表
    vminsert到vmstorage链路上的配置说明
    vmstorage在全部都是旧metric情况下的写入性能测试
    【解决了一个小问题】alert manager要怎么样才能触发告警到企业微信上?
    vmstorage在新metric占整体1%情况下的写入性能测试
    vmstorage在全部都是新metric情况下的写入性能测试
  • 原文地址:https://www.cnblogs.com/blueskycc/p/4347839.html
Copyright © 2020-2023  润新知