码迷,mamicode.com
首页 > 系统相关 > 详细

shell 截取变量的字符串

时间:2015-03-18 20:09:32      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:

假设有变量 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

shell 截取变量的字符串

标签:

原文地址:http://www.cnblogs.com/blueskycc/p/4347839.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!