我的价值为: james,adam,john 我正在努力使它成为James,Adam,John(每个名字的第一个字符应该是大写)
根据kev(下),
$ echo '詹姆斯,亚当,约翰' | sed 's/\<./\u&/g' James,Adam,John(并非在所有系统中都有效)
我无法在不同的系统中做同样的事情。我正在使用 .ksh,但我不知道是因为 ksh 还是不同的系统。任何人都可以帮忙吗?
谢谢
我的价值为: james,adam,john 我正在努力使它成为James,Adam,John(每个名字的第一个字符应该是大写)
根据kev(下),
$ echo '詹姆斯,亚当,约翰' | sed 's/\<./\u&/g' James,Adam,John(并非在所有系统中都有效)
我无法在不同的系统中做同样的事情。我正在使用 .ksh,但我不知道是因为 ksh 还是不同的系统。任何人都可以帮忙吗?
谢谢
您可以使用sed
:
$ echo 'james,adam,john' | sed 's/\<./\u&/g'
James,Adam,John
\<.
将匹配每个单词的第一个字符\u&
使其大写。使用 bash:
A="james adam john"
B=( $A )
echo "${B[@]^}"
输出是:
James Adam John
有无限的可能性,但查找tr
和 shell 字符串替换(如果你的 shell 支持它)。然后是 GNU sed
、awk、perl 和许多其他语言......