Shell脚本中字符小写到大写

时间:2012-08-31 07:16:34

标签: unix

我有价值: 的詹姆斯,亚当,约翰 我想把它变成詹姆斯,亚当,约翰(每个名字的第一个字符应该是大写)

根据kev(下文),

<回声'回声'詹姆斯,亚当,约翰'| sed's / \&lt; ./ \ u&amp; / g' 詹姆斯,亚当,约翰(它不适用于所有系统)

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

由于

3 个答案:

答案 0 :(得分:4)

您可以使用sed

$ echo 'james,adam,john' | sed 's/\<./\u&/g'
James,Adam,John
  • 模式\<.将匹配每个单词的第一个字符
  • 使用\u&将其设为大写。

答案 1 :(得分:2)

使用bash:

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

输出是:

James Adam John

答案 2 :(得分:1)

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