shell提取字符串

1.提取字符串前几个字符(从左向右)

name=WM010_71_1616287997_1616288283_231.jpg
echo ${name:0:13}
WM010_71_1616

2.提取字符串后几个字符(从右向左)

name=WM010_71_1616287997_1616288283_231.jpg
echo ${name:0-13}
88283_231.jpg

3.从左边第几个字符开始,一直到结束

其中的 13 表示左边第14个字符开始,一直到结束

name=WM010_71_1616287997_1616288283_231.jpg
echo ${name:13}
287997_1616288283_231.jpg

4.从右边第几个字符开始,及字符的个数

其中的 0-13 表示右边算起第13个字符开始,3 表示字符的个数

name=WM010_71_1616287997_1616288283_231.jpg
echo ${name:0-13:3}
882

5.提取文件名,去除后缀

name=WM010_71_1616287997_1616288283_231.jpg
# echo ${name:0-13}
basename ${name} .jpg
WM010_71_1616287997_1616288283_231

6.# 号截取,删除左边字符,保留右边字符

*_ 表示从左边开始删除第一个 _ 号及左边的所有字符

name=WM010_71_1616287997_1616288283_231.jpg
echo ${name#*_}
71_1616287997_1616288283_231.jpg

7.## 号截取,删除左边字符,保留右边字符

##*/_表示从左边开始删除最后(最右边)一个 _号及左边的所有字符

name=WM010_71_1616287997_1616288283_231.jpg
echo ${name##*_}
231.jpg

8.%号截取,删除右边字符,保留左边字符

%_* 表示从右边开始,删除第一个 _号及右边的字符

name=WM010_71_1616287997_1616288283_231.jpg
echo ${name%_*}
WM010_71_1616287997_1616288283

9.%% 号截取,删除右边字符,保留左边字符

%%_* 表示从右边开始,删除最后(最左边)一个 _号及右边的字符

name=WM010_71_1616287997_1616288283_231.jpg
echo ${name%%_*}
WM010
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值