Linux Bash Shell字符串截取

#!/bin/bash

#定义变量赋值时等号两边不能有空格,否则会报命令不存在  

# 运行shell脚本两种方式
# 1、作为解释参数 /bin/sh test.sh ;  2、作为可执行文件 chmod +x ./test.sh
blog_url='http://www.cnblogs.com/Bighua/p/7535900.html'
# 1、 #号截取,从左往右删除从0开始到第一个匹配条件('//')部分,保留剩下部分
echo ${blog_url#*//}
#运行结果 如下  www.cnblogs.com/Bighua/p/7535900.html

#2、  ##号截取,从左往右删除从0开始到最后一个匹配条件('/')部分,保留剩下部分
echo ${blog_url##*/}
#运行结果如下  7535900.html

#3、 %号截取,从右往左删除从#blog_url开始到第一个匹配条件('/')部分,保留剩下部分
echo ${blog_url%/*}
# 运行结果如下 http://www.cnblogs.com/Bighua/p

#4、 %%号截取,从右往左删除从#blog_url开始到最后一个匹配条件('/')部分,保留剩下部分
echo ${blog_url%%/*}
# 运行结果如下 http:

#5、从左边第几个开始截取几个字符
echo ${blog_url:0:7}
# 运行结果如下 http://

#6、从左边第几个字符开始到结束
echo ${blog_url:7}
# 运行结果如下 www.cnblogs.com/Bighua/p/7535900.html

#7、从右边起数第几个字符为起点,从左往右截取几个字符
echo ${blog_url:0-7:2}
# 运行结果如下 00

#8、从右起第几个字符开始为起点,一直到结尾
echo ${blog_url:0-4}
# 运行结果 html 

posted @ 2017-09-18 11:45  Morning.glory  阅读(3020)  评论(0编辑  收藏  举报