shell脚本字符串截取方法整理

首先先声明一个变量str,下面演示以该变量为例:

str='https://www.baidu.com/about.html'

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

echo ${str#*//}

说明:

  • str为变量
  • #号是运算符
  • *//表示从左边开始删除第一个//号及左边的所有字符

结果:www.baidu.com/about.html

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

echo ${str##*/}

说明:

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

结果:about.html

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

echo ${str%/*}

说明:

  • %/*表示从右边开始,删除第一个/以及右边所有字符

结果:https://www.baidu.com

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

echo ${str%%/*}

说明:

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

结果:https:

5.截取从左边指定位置开始,以及指定截取的字符个数

echo ${str:0:5}

说明:

  • 0表示从第一个字符开始截取,5表示截取5个字符

结果:https

6.截取从左边指定位置开始,直到结束

echo ${str:8}

说明:

  • 表示从左边第9个字符开始(由于下标是从0开始),一直到结束。

结果:www.baidu.com/about.html

7.截取从右边指定位置开始,以及指定截取的字符个数

echo ${str:0-10:10}

说明:

  • 0-10表示从右边第10个字符开始,截取右边10个字符的长度。

结果:about.html

说明,如果截取的右边字符超过右边的总长度,那么也是返回右边的所有字符,如:

echo ${str:0-10:100}

结果:about.html

8.截取从右边指定位置开始,直到结束

echo ${str:0-10}

说明:

  • 表示从右边第10个字符位置开始,直到结束

结果:about.html

+
(^_^)打赏作者喝个咖啡(^_^)
微信支付
支付宝支付
如果觉得文章写得不错或对您有用,请随意打赏。点击文章右下角“喜欢”二字,您的支持是我最大的鼓励
打赏支持
我要收藏
返回顶部
跳到底部
posted @   风雨后见彩虹  阅读(797)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示