Linux Bash Shell字符串截取

为君一笑 提交于 2019-12-25 03:08:36

#!/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 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!