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

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

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

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

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

str为要截取的字符串,#为运算符,*:表示从左边开始删除第一个:及它左边的所有内容
所以结果如下:
这里写图片描述

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

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

##*: —–>表示删除最右边即最后一个冒号及其左边的所有内容
这里写图片描述

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

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

%:* 表示从右边开始删除第一个:及其右边的所有内容
这里写图片描述

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

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

%%:* 表示从右边开始删除最后一个:及其右边的所有内容
这里写图片描述

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

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

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

这里写图片描述

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

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

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

这里写图片描述

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

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

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

这里写图片描述

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

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

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

这里写图片描述

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

你可能感兴趣的:(linux,shell)