Linux 字符窜截取的方法汇总
1.命令汇总
${target-string#*sub-string}
${target-string##*sub-string}
${target-string%sub-string*}
${target-string%%*sub-string*}
----------------------------------------------------------------------------
${target-string:start-index:string-numbers}
${target-string:start-index}
${target-string:0-start_index:string-numbers}
${target-string:0-start_index}
2.例子汇总
st1=‘http://www.baidu.com/image/image.png’
从st1的 左边开始截掉‘/’这个字符第一次出现的位置左边的部分,保留右边部分且不包含‘/’。
# echo ${st1#*/} /www.baidu.com/image/image.png
从st1的 左边开始截掉‘/’这个字符最后一次出现的位置左边的部分,保留右边部分且不包含‘/’。
# echo ${st1##*/} image.png
----------------------------------------------------------------------------
st1=‘http://www.baidu.com/image/image.png’
从st1的 右边开始截掉‘/’这个字符第一次出现的位置右边的部分,保留左边部分且不包含‘/’。
# echo ${st1%/*} http://www.baidu.com/image
从st1的 右边开始截掉‘/’这个字符最后一次出现的位置右边的部分,保留左边部分且不包含‘/’。
# echo ${st1%%/*} http:
-----------------------------------------------------------------------------
st1=‘http://www.baidu.com/image/image.png’
从st1的 左边开始,从第一个字符{0}开始,截取{4}4个字符。
# echo ${st1:0:4} http
从st1的 左边开始,截掉7个字符,保留右边的部分
# echo ${st1:7} www.baidu.com/image/image.png
---------------------------------------------------------------------------------------
st1=‘http://www.baidu.com/image/image.png’
从st1的 右边第10个字符{0-10}开始,截取6个字符。
# echo ${st1:0-10:6} /image #不是ge.png ,因为是从第右边开始第10个字符,即从‘/’数6个字符。
从st1的 右边第10个字符{0-10}开始,截取右边所有字符。
# echo ${st1:0-10} /image.png
3.记忆方法
一定要分清楚是截取 ,还是截掉。
符号总共有5个, ‘#‘ ‘##‘ ‘%‘ ‘%%’ ‘*‘
#
本文出自 “Frog的技术归档” 博客,请务必保留此出处http://frogtwo.blog.51cto.com/3805708/1939143
原文地址:http://frogtwo.blog.51cto.com/3805708/1939143