Shell字符串截取(非常详细)
2024-09-06 19:04:10
假设有变量 var=http://www.aaa.com/123.htm.
1. # 号截取,删除左边字符,保留右边字符。
1
|
echo ${var#* //} |
其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符
即删除 http://
结果是 :www.aaa.com/123.htm
2. ## 号截取,删除左边字符,保留右边字符。
1
|
echo ${var##*/} |
##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
即删除 http://www.aaa.com/
结果是 123.htm
3. %号截取,删除右边字符,保留左边字符
1
|
echo ${var%/*} |
%/* 表示从右边开始,删除第一个 / 号及右边的字符
结果是:http://www.aaa.com
4. %% 号截取,删除右边字符,保留左边字符
1
|
echo ${var%%/*} |
%%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符
结果是:http:
5. 从左边第几个字符开始,及字符的个数
1
|
echo ${var: 0 : 5 } |
其中的 0 表示左边第一个字符开始,5 表示字符的总个数。
结果是:http:
6. 从左边第几个字符开始,一直到结束。
1
|
echo ${var: 7 } |
其中的 7 表示左边第8个字符开始,一直到结束。
结果是 :www.aaa.com/123.htm
7. 从右边第几个字符开始,及字符的个数
1
|
echo ${var: 0 - 7 : 3 } |
其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。
结果是:123
8. 从右边第几个字符开始,一直到结束。
1
|
echo ${var: 0 - 7 } |
表示从右边第七个字符开始,一直到结束。
结果是:123.htm
注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)
汇总
最后,我们对以上 8 种格式做一个汇总,请看下表:
格式 | 说明 |
---|---|
${string: start :length} | 从 string 字符串的左边第 start 个字符开始,向右截取 length 个字符。 |
${string: start} | 从 string 字符串的左边第 start 个字符开始截取,直到最后。 |
${string: 0-start :length} | 从 string 字符串的右边第 start 个字符开始,向右截取 length 个字符。 |
${string: 0-start} | 从 string 字符串的右边第 start 个字符开始截取,直到最后。 |
${string#*chars} | 从 string 字符串第一次出现 *chars 的位置开始,截取 *chars 右边的所有字符。 |
${string##*chars} | 从 string 字符串最后一次出现 *chars 的位置开始,截取 *chars 右边的所有字符。 |
${string%chars*} | 从 string 字符串第一次出现 *chars 的位置开始,截取 *chars 左边的所有字符。 |
${string%%chars*} | 从 string 字符串最后一次出现 *chars 的位置开始,截取 *chars 左边的所有字符。 |
最新文章
- Android数据存储之SQLCipher数据库加密
- 【Java EE 学习 79 上】【mybatis 基本使用方法】
- Samsung I9103刷cm-10.1的方法
- web安全之sql注入原理
- mongoDB安装学习
- J2EE开发规范
- 357. Count Numbers with Unique Digits
- 百度搜索附近加盟店等基于LBS云搜索功能的实现
- aix光盘安装包 aix puppet agent 自动化安装
- 【原创】01-1. 基于 checked 关于 attribute 和 property 的理解
- 【开发技术】storyboard和nib的差别
- 支付宝wap支付调起客户端
- java操作svn工具类SvnUtil
- POJ 2513 Colored Sticks (欧拉回路+并查集+字典树)
- java正则表达式使用
- vue-webpack 引入echarts 注意事项
- TreeMap实现原理及源码分析之JDK8
- 20155306 2016-2017-2 《Java程序设计》第七周学习总结
- mac 升级10.12 php debug 环境 跑不起的解决 解决方案
- [转]高品质开源工具Chloe.ORM:支持存储过程与Oracle