欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

shell脚本----shell的字符串截取

程序员文章站 2022-07-14 17:53:57
...

在这里总结一下shell脚本的字符串截取方式

以字符串 str=”1:2:3:4:abcd” 为例

1. # 截取,删除左边字符,保留右边字符
#!/bin/bash

str="1:2:3:4abcd"
echo ${str#*:}

str为要截取的字符串,#为运算符,*:表示从左边开始删除第一个:及它左边的所有内容
所以结果如下:
shell脚本----shell的字符串截取

2. # # 截取,删除左边字符,保留右边字符
#!/bin/bash

str="1:2:3:4abcd"
echo ${str##*:}

##*: —–>表示删除最右边即最后一个冒号及其左边的所有内容
shell脚本----shell的字符串截取

3. %截取,删除右边字符,保留左边字符
#!/bin/bash

str="1:2:3:4abcd"
echo ${str%:*}

%:* 表示从右边开始删除第一个:及其右边的所有内容
shell脚本----shell的字符串截取

4. % %截取,删除右边字符,保留左边字符
#!/bin/bash

str="1:2:3:4abcd"
echo ${str%%:*}

%%:* 表示从右边开始删除最后一个:及其右边的所有内容
shell脚本----shell的字符串截取

5. 从左边第几个字符开始,及字符的个数
#!/bin/bash

str="1:2:3:4abcd"
echo ${str:0:5}

其中0表示从第一个字符开始,5为字符总个数,即截取前五个字符

shell脚本----shell的字符串截取

6. 从右边第几个字符开始,及字符的个数
#!/bin/bash

str="1:2:3:4abcd"
echo ${str:0-5:3}

其中0-5表示从右边第五个字符开始向右截取,3为截取字符个数

shell脚本----shell的字符串截取

7. 从左边第几个字符开始一直到结束
#!/bin/bash

str="1:2:3:4abcd"
echo ${str:6}

其中6表示从第七个字符开始一直到结束位置

shell脚本----shell的字符串截取

8. 从右边第几个字符开始一直到结束
#!/bin/bash

str="1:2:3:4abcd"
echo ${str:0-5}

其中0-5表示从右边第5个字符开始一直到结束位置

shell脚本----shell的字符串截取

注:左边的第一个字符用0表示,右边的第一个字符用0-1表示