我想大写第一个字符和下划线后的每个第一个字符。例如:
foo="text_search";
//uppercase first characters
echo $foo;
应该输出“Text_Search”
我尝试了以下方法:
UCF_textSearch=${foo^}
echo UCF_textSearch
但它输出“Text_search”而不是“Text_Search”。
最佳答案
使用 GNU sed 的解决方案:
foo="the_quick_brown_dog"
foo=$(echo "$foo" | sed -e 's/\(^\|_\)\([a-z]\)/\1\u\2/g')
echo $foo
结果:
$ ./test.sh
The_Quick_Brown_Dog
关于bash - 大写下划线后的第一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53459645/