将字符串的最后一个字符转换为大写

时间:2019-05-07 15:08:00

标签: bash

如何将字符串的最后一个字符转换为大写?

例如:

foo=test
echo ${foo^}

这适用于第一个字符

Test 

我希望输出为

TesT

这是如何工作的?

1 个答案:

答案 0 :(得分:1)

使用GNU sed:

foo=test
sed 's/.$/\U&/' <<< "$foo"

使用额外的变量:

foo=test
tmp="${foo: -1}"
echo "${foo:: -1}${tmp^}"