Bash如何获取字符串的倒数第二个字符?
有一个很好的答案来获取字符串的最后一个字符Bash如何获取字符串的倒数第二个字符?,bash,Bash,有一个很好的答案来获取字符串的最后一个字符 str='abcd/' echo "${str: -1}" 如何获得倒数第二名,即返回“d”而不是“/”使用冒号运算符 str='abcd/' echo "${str: -2:-1}" 返回“d”使用冒号运算符 str='abcd/' echo "${str: -2:-1}" 返回“d”正如您已经知道的,负位置相对于字符串的结尾,因此-1从最后一个字符开始,-2从倒数第二个字符开始,依此类推 但是,您使用的形式是获取子字符串的简化形式,它获取从指
str='abcd/'
echo "${str: -1}"
如何获得倒数第二名,即返回“d”而不是“/”使用冒号运算符
str='abcd/'
echo "${str: -2:-1}"
返回“d”使用冒号运算符
str='abcd/'
echo "${str: -2:-1}"
返回“d”正如您已经知道的,负位置相对于字符串的结尾,因此
-1
从最后一个字符开始,-2
从倒数第二个字符开始,依此类推
但是,您使用的形式是获取子字符串的简化形式,它获取从指定位置到字符串末尾的所有字符
您还可以提供显式长度,以获取从该位置开始的有限数量的字符。因此,要获取最后一个字符,您只需:
${str: -2:1}
bash
文档的相关部分包括:
${参数:偏移量}
${参数:偏移量:长度}
子串扩展。扩展到从偏移量指定的字符开始的参数值的长度
个字符
如果省略了length
,则扩展到参数值的子字符串,从offset
指定的字符开始,扩展到值的末尾
如您所知,负数位置相对于字符串的结尾,因此
-1
从最后一个字符开始,-2
从倒数第二个字符开始,依此类推
但是,您使用的形式是获取子字符串的简化形式,它获取从指定位置到字符串末尾的所有字符
您还可以提供显式长度,以获取从该位置开始的有限数量的字符。因此,要获取最后一个字符,您只需:
${str: -2:1}
bash
文档的相关部分包括:
${参数:偏移量}
${参数:偏移量:长度}
子串扩展。扩展到从偏移量指定的字符开始的参数值的长度
个字符
如果省略了length
,则扩展到参数值的子字符串,从offset
指定的字符开始,扩展到值的末尾