大文字の前にスペースを追加する

大文字の前にスペースを追加する

文字列があります。

AddData
TestSomething
TellMeWhoYouAre

など。大文字の前にスペースを追加したい。どうすればいいですか?

ベストアンサー1

を使用sedし、単語の前にスペースを必要としないとします。

$ sed 's/\([^[:blank:]]\)\([[:upper:]]\)/\1 \2/g' file.in
Add Data
Test Something
Tell Me Who You Are

置換は、スペース以外の文字の直後に大文字を検索し、その間にスペースを挿入します。

これは、複数の連続した大文字を含む文字列(たとえば)に対してWeAreATeam生成されますWe Are ATeam。これをクリーンアップするには、交換を再実行してください。

$ sed -e 's/\([^[:blank:]]\)\([[:upper:]]\)/\1 \2/g' \
      -e 's/\([^[:blank:]]\)\([[:upper:]]\)/\1 \2/g' file.in

おすすめ記事