shell脚本的8种字符串截取方法

本文介绍Shell脚本中常用的8种字符串截取方法,包括删除左侧字符、删除右侧字符及指定位置截取等实用操作,并通过实例进行详细解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

###shell脚本的截取有8种,今天我们以https://www.baidu.com/123.htm 为例:
####1、# 删除左边字符,保留右边字符

val="https://baidu.com/123.htm"
echo ${val#*//}

结果:www.baidu.com/123.htm
####2、## 删除左边字符,保留右边字符

val="https://baidu.com/123.htm"
echo ${val##*/}

结果: 123.htm

解释 # 和## 的区别:

#是从字符最边开始匹配删除第一个和字符串匹配的字符及其边的所有字符
##是从字符最边开始匹配字符,删除第一个相同字符串及其边所有的字符
#和##在使用时需要 * 配合使用,表示所有
####3、%截取删除右边、保留左边

val="https://baidu.com/123.htm"
echo ${val%/*}

结果:https://www.baidu.com
####4、 %%截取删除右边,保留左边

val="https://www.baidu.com/123.htm"
echo ${val%%/*}

结果:https:
对比% %%

%是从字符最边开始匹配删除第一个和字符串匹配的字符及其边的所有字符
%%是从字符最边开始匹配字符,删除第一个相同字符串及其边所有的字符
同样% %%也需要配合 *****
####5、保留 从左边开始的第几个字符的几个字符

val="https://www.baidu.com/123.htm"
echo ${val:0:8}

结果:https://
####6、保留 从左边开始一直到结束的字符

val="https://www.baidu.com/123.htm"
echo ${val:8}

结果:www.baidu.com/123.htm
####7、保留 从右边开始的第几个字符的几个字符

val="https://www.baidu.com/123.htm"
echo ${val:0-7:3}

结果:123

0-7是从右边开始的第7个字符开始,3是保留往右数3个字符
####8、保留 从右边第n个开始到结束的所有字符

val="https://www.baidu.com/123.htm"
echo ${val:0-7}

结果:123.htm

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值