欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Shell脚本——字符串截取

程序员文章站 2022-07-10 10:38:08
...

假设变量var值为http://www.abc.com/123.html;

使用${}与#、##、%或%%的结合实现字符串截取;


一、${var##*/}

删除变量var从左边算起的最后一个'/'字符及其左边的内容,返回处理后的字符串;

# echo ${var##*/}
123.html

若在shell脚本中,可将处理后的结果赋值给变量;


二、${var#*/}

删除变量var从左边算起第一个'/'字符及其左边的内容,返回处理后的字符串;

# echo ${var#*//}
www.abc.com/123.html


三、${var%%/*}

删除变量var从右边算起的最后一个'/'字符及其右边的内容,返回处理后的字符串;

# echo ${var%%/*}
http:


四、${var%/*}

删除变量var从右边算起的第一个'/'字符及其右边的内容,返回处理后的字符串;

# echo ${var%/*}
http://www.abc.com


注:

*表示要删除的内容,对于在%或#的位置不能互换!

/表示删除的截止位置,可以是其他字符;


五、指定字符串区间

1 从左边第n个字符开始,及字符个数

# echo ${var:0:4}
http


2 从左边第n个字符开始,一直到结束

# echo ${var:7}
www.abc.com/123.html


3 从右边第n个字符开始,及字符个数

# echo ${var:0-8:3}
123


4 从右边第n个字符开始,一直到结束

# echo ${var:0-8}
123.html


注:左边第一个字符用0表示,右边第一个字符用0-1表示;