文字列があります。
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