侧边栏壁纸
  • 累计撰写 185 篇文章
  • 累计创建 77 个标签
  • 累计收到 18 条评论

目 录CONTENT

文章目录

linux shell的几种截取字符串的方法

码峰
2022-06-28 / 0 评论 / 1 点赞 / 1,117 阅读 / 674 字 / 正在检测是否收录...
广告 广告

写shell脚本时,免不了需要截图字符串,这里有几种截取字符串的方法供参考。
假设shell中有字符串变量:str=aabbccddeeffaabbccddeeff

1. 符号“#“截取,删除指定字符串最左边一次匹配位置左边的字符串,保留右边字符串

代码如下:

echo ${str#*bb}

其中str是变量名,“#”是运算符,“#*bb”表示删除字符串“bb”第一次匹配位置左边的所有字符串,执行结果是:ccddeeffaabbccddeeff

2. 符号“##”,删除指定字符串最右边一次匹配位置的左边字符串,保留右边字符串

使用如下代码:

echo ${str##*bb}

其中str是变量名,“##”是运算符,“##*bb”表示删除字符串“bb”最后一次匹配位置左边的所有字符串,执行结果是:ccddeeff

3. 符号“%”,删除指定字符串最右边一次匹配位置右边字符串,保留左边字符串

使用如下代码:

echo ${str%bb*}

其中str是变量名,“%”是运算符,“%bb*”表示删除字符串“bb”最右边一次匹配位置右边的所有字符串,执行结果是:aabbccddeeffaa

4. 符号“%%”,删除指定字符串最左边一次匹配位置右边字符串,保留左边字符串

使用如下代码:

echo ${str%%bb*}

其中str是变量名,“%%”是运算符,“%bb*”表示删除字符串“bb”最左边一次匹配位置右边的所有字符串,执行结果是:aa

5. 从左边第几个字符开始,及字符的个数

使用如下代码:

echo ${str:0:5}

其中0表示从左边开始第一个字符,5表示字符的总个数,执行结果是:aabbc

6. 从左边第几个字符开始,直到结束

使用如下代码:

echo ${str:5}

其中7表示从左边开始第7个字符开始,直到结束,执行结果是:cddeeffaabbccddeeff

7. 从右边第几个字符开始,及字符个数

使用如下代码:

echo ${str:0-7:5}

其中0-7表示从右边第7个字符开始,5表示取5个字符,执行结果是:cddee

8. 从右边第几个字符开始,直到结束

使用如下代码:

echo ${str:0-7}

其中0-7表示从右边第7个字符开始,直到结束,执行结果是:cddeeff

1
广告 广告

评论区