1

我的价值为: james,adam,john 我正在努力使它成为James,Adam,John(每个名字的第一个字符应该是大写)

根据kev(下),

$ echo '詹姆斯,亚当,约翰' | sed 's/\<./\u&/g' James,Adam,John(并非在所有系统中都有效)

我无法在不同的系统中做同样的事情。我正在使用 .ksh,但我不知道是因为 ksh 还是不同的系统。任何人都可以帮忙吗?

谢谢

4

3 回答 3

4

您可以使用sed

$ echo 'james,adam,john' | sed 's/\<./\u&/g'
James,Adam,John
  • 模式\<.将匹配每个单词的第一个字符
  • 用于\u&使其大写。
于 2012-08-31T07:21:06.397 回答
2

使用 bash:

A="james adam john"
B=( $A )
echo "${B[@]^}"

输出是:

James Adam John
于 2012-08-31T07:21:41.203 回答
1

有无限的可能性,但查找tr和 shell 字符串替换(如果你的 shell 支持它)。然后是 GNU sed、awk、perl 和许多其他语言......

于 2012-08-31T07:18:43.123 回答