1

私は次のような価値があります: james、adam、john 私はそれをJames、Adam、Johnにしようとしています(各名前の最初の文字は大文字でなければなりません)

kev(下記)によると、

$ echo'james、adam、john' | 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

バッシュの使用:

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

出力は次のとおりです。

James Adam John
于 2012-08-31T07:21:41.203 に答える
1

無限の可能性がありますが、検索しtrてシェル文字列の置換を行います (シェルがサポートしている場合)。それから、GNU sed、awk、perl、その他多くの言語があります...

于 2012-08-31T07:18:43.123 に答える