shell 截取字符串

2022/1/8 7:04:50

本文主要是介绍shell 截取字符串,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

  • ${#var}
    获得字符串的长度
str="100%200%300"
echo ${#str}

11
  • ${var#[#]}
    截取字符串头部匹配的字符串,获取尾部子字符串
    ${var#} 最小限度的截取
    ${var##} 最大限度的截取
str="100%200%300%300%200%100"
echo "{str#1}=========="${str#1}
echo "{str#*0}=========="${str#*0}
echo "{str#0}=========="${str#0}
echo "{str##*3}=========="${str##*3}
echo "{str##*2}=========="${str##*2}


{str#1}==========00%200%300%300%200%100
{str#*0}==========0%200%300%300%200%100
{str#0}==========100%200%300%300%200%100
{str##*3}==========00%200%100
{str##*2}==========00%100

  • ${var%[%]}
    截取字符串尾部匹配的字符串,获取头部子字符串
    ${var%} 最小限度的截取
    ${var%%} 最大限度的截取
str="100%200%300%300%200%100"
echo "{str%0}=========="${str%0}
echo "{str%2*}=========="${str%2*}
echo "{str%%2*}=========="${str%%2*}

{str%0}==========100%200%300%300%200%10
{str%2*}==========100%200%300%300%
{str%%2*}==========100%

  • ${var:start[:len]}
    从左边start 截取 ,没有len参数即从start 位开始截取所有 ,有len参数即从start位开始截取len 个字符
str="100%200%300%300%200%100"
echo "{str:2}=========="${str:2}
echo "{str:2:5}=========="${str:2:5}

{str:2}==========0%200%300%300%200%100
{str:2:5}==========0%200
  • ${var:0-start[:len]}
    从右边start 截取 ,没有len参数即从右边start 位开始向后截取所有 ,有len参数即从start位开始向后截取len 个字符,start 不能超过字符串的长度
str="100%200%300%300%200%100"
echo "{str:0-20:5}=========="${str:0-20:5}
echo "{str:0-30:5}=========="${str:0-30:5}
echo "{str:0-4}=========="${str:0-4}


{str:0-20:5}==========%200%
{str:0-20:5}==========
{str:0-4}==========%100


这篇关于shell 截取字符串的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程