Shell字符串截取(⾮常详细)1. # 号截取,删除左边字符,保留右边字符。
1echo ${var#*//}
2. ## 号截取,删除左边字符,保留右边字符。
1echo ${var##*/}
结果是 123.htm
3. %号截取,删除右边字符,保留左边字符
1echo ${var%/*}
%/* 表⽰从右边开始,删除第⼀个 / 号及右边的字符
4. %% 号截取,删除右边字符,保留左边字符
1echo ${var%%/*}
%%/* 表⽰从右边开始,删除最后(最左边)⼀个 / 号及右边的字符
结果是:http:
5. 从左边第⼏个字符开始,及字符的个数shell 字符串长度
1echo ${var:0:5}
其中的 0 表⽰左边第⼀个字符开始,5 表⽰字符的总个数。
结果是:http:
6. 从左边第⼏个字符开始,⼀直到结束。
1echo ${var:7}
其中的 7 表⽰左边第8个字符开始,⼀直到结束。
结果是:www.aaa/123.htm
7. 从右边第⼏个字符开始,及字符的个数
1echo ${var:0-7:3}
其中的 0-7 表⽰右边算起第七个字符开始,3 表⽰字符的个数。
结果是:123
8. 从右边第⼏个字符开始,⼀直到结束。
1echo ${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 左边的所有字符。喜欢这篇⽂章?欢迎打赏~~

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。