标签:取字符串 用法 需要 结束 其他 参数 lower start 字符替换
Shell 截取字符串通常有两种方式:从指定位置开始截取和从指定字符(子字符串)开始截取。
这种方式需要两个参数:除了指定起始位置,还需要截取长度,才能最终确定要截取的字符串。
${string:start:length}
${string:0-start:length}
同第1)种格式相比,第2)种格式仅仅多了0-,这是固定的写法,专门用来表示从字符串右边开始计数。
这种截取方式无法指定字符串长度,只能从指定字符(子字符串)截取到字符串末尾。Shell 可以截取指定字符(子字符串)右边的所有字符,也可以截取左边的所有字符。
${string#*chars}
其中string表示要截取的字符,chars是指定的字符(或者子字符串),*是通配符的一种,表示任意长度的字符串。*chars连起来使用的意思是:忽略左边的所有字符,直到遇见chars(chars不会被截取)。
如果希望直到最后一个指定字符(子字符串)再匹配结束,那么可以使用##,具体格式为:
${string##*chars}
${string%chars*}
请注意*的位置,因为要截取chars左边的字符,而忽略chars右边的字符,所以*应该位于chars的右侧。其他方面%和#的用法相同,这里不再赘述。
a=`expr $a + 1`
小写转换成大写
UPPERCASE=$(echo $VARIABLE | tr ‘[a-z]‘ ‘[A-Z]‘)
大写转换成小写
LOWERCASE=$(echo $VARIABLE | tr ‘[A-Z]‘ ‘[a-z]‘)
标签:取字符串 用法 需要 结束 其他 参数 lower start 字符替换
原文地址:https://www.cnblogs.com/R0124/p/12862145.html