Linux shell 字符串切割 内置方法
$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含/时用\转义
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。