par*_*181 4 unix shell perl awk sed
可能重复:
Shell脚本中的字符小写到大写
我有价值:james,adam,john我正在努力James,Adam,John(每个名字的第一个字符应该是大写).
echo 'james,adam,john' | sed 's/\<./\u&/g'
Run Code Online (Sandbox Code Playgroud)
并不适用于所有系统.在一个系统中它显示确定..但在另一个系统中不正常......
A="james adam john"
B=( $A )
echo "${B[@]^}"
Run Code Online (Sandbox Code Playgroud)
它抛出一些语法错误......所以,我通过一个长循环查询来做这个循环,这太长了.有没有捷径可以做到这一点?
有许多方法可以定义"名称的开头".此方法选择单词边界后面的任何字母并将其转换为大写.作为副作用,这也适用于诸如"Sue Ellen"或"Billy-Bob"之类的名称.
echo "james,adam,john" | perl -pe 's/(\b\pL)/\U$1/g'
Run Code Online (Sandbox Code Playgroud)