Shell命令截取字符串
先给定一个str=“123456789987654321”字符串作为用例。所有命令不会改变str本身的值。
- 获取字符串长度
${#str}
- 截掉字符串的一部分获得剩下的字符串
- 从最前(左)开始截掉 使用 #
${str#*5} //截掉从最开始到第一个5处的字符串 结果6789987654321
${str##*5} //截掉从开始到最后一个5处的字符串 结果4321
${str#*65} //截止位可以指定字符也可以指定字符串 结果4321
- 从最后(右)开始截掉 使用 %
和#相同,不过要注意*的位置
${str%5*}
- 截取字符串内容
${str:0:5}//(最前面的5个字符)从前往后按下标计算,从第0个位置开始截取5个字符 结果12345
${str:1} //从下标为1的位置截取剩下所有字符 结果23456789987654321
${str:0-9:5}//从倒数第9个字符往后截取5个字符 结果98765
${str:0-9}//0-9这代表从倒数第9个字符开始截取剩下所有的 结果987654231
${str:0-5:5}//(最后面的5个字符) 结果54321