zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    【教程】模拟登陆百度之Java代码版
    Redis错误配置详解
    Redis内存存储结构分析
    Notepad++安装插件
    hadoop2.x 常用端口及定义方法
    微信订阅号可以开通微信支付吗?
    CDH 的Cloudera Manager免费与收费版的对比表
    Hadoop调度框架
    再谈spark部署搭建和企业级项目接轨的入门经验(博主推荐)
    Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本)
  • 原文地址:https://www.cnblogs.com/blueskycc/p/4347839.html
Copyright © 2011-2022 走看看