$myStr="node=slave-01:2.05:1.25:1.00"
$time tmp=${myStr%%:*};echo ${tmp##*=}
real    0m0.000s
user    0m0.000s
sys     0m0.000s
slave-01

 

${string#*pattern}        从左边开始最小化匹配pattern ,并删除(从左边开始)第一个pattern及其左边字串

${string##*pattern}     从左边开始最大化匹配pattern,并删除(从左边开始)最后一个pattern及其左边字串

${string%pattern*}       从右边开始最小化匹配pattern,并删除(从右边开始)第一个pattern及其右边的字串(从后向前)

${string%%pattern**}  从右边开始最大化匹配pattern,并删除(从右边开始)最后个pattern及其右边的字串(从后向前)

 

#是去掉左边

%是去掉右边

单个最小匹配,两个最大匹配

$ echo ${myStr:0:5}
node=
$ echo ${myStr:5:5}
slave

${string:start:length}  (0开始计数)

包含第start元素,取到第(start+length-1)个元素

$echo ${myStr/:/_}
node=slave-01_2.05:1.25:1.00
$ echo ${myStr//:/_}
node=slave-01_2.05_1.25_1.00

${string/old/new}  将第一个old替换为new

${string//old/new} 将所有old替换为new

old含/时用\转义

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-26
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-12-26
  • 2021-10-18
  • 2021-09-04
  • 2021-10-17
  • 2021-07-13
  • 2021-11-07
相关资源
相似解决方案