shell 字符串分割

Posted 萧飞IDO

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell 字符串分割相关的知识,希望对你有一定的参考价值。

语法1: substring=${string:start:len}

  string的下标从0开始,以start可是,截取len个字符,并赋值于substring

1 #!/bin/bash
2 #substr=${string:start:len}
3 str="123456789"
4 substr=${str:3:3}
5 echo $substr
6 
7 输出:
8     456

语法2:截取指定字符串

  ${varible##*string}:从左向右截取最后一个string后的字符串
  ${varible#*string}:从左向右截取第一个string后的字符串
  ${varible%%string*}:从右向左截取最后一个string后的字符串
  ${varible%string*}:从右向左截取第一个string后的字符串
  “*”:只是一个通配符可以不要

 1 #!/bin/bash
 2 
 3 str="usr/bin/user"
 4 #* ${varible##*string}
 5 substr1=${str##*/}
 6 echo $substr1 # = user
 7 
 8 #* ${varible#*string}
 9 substr2=${str#*/}
10 echo $substr2 # = bin/user
11 
12 #* ${varible%%string*}
13 substr3=${str%%/*}
14 echo $substr3 # = usr 
15 
16 #* ${varible%string*}
17 substr4=${str%/*}
18 echo $substr4 # = usr/bin

 





以上是关于shell 字符串分割的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本切割字符串分割字符串(split)

如何将字符串分割赋值给多个shell变量

Linux系列:Linux Shell实现字符串分割

Linux Bash Shell字符串分割substring等(转)

shell 字符串分割

shell中分割字符串之后怎么取得最后一个东西的值?如果可以的话,怎么将分割后的结果保存到一个数组中?