Usando sed
e supondo que você não quer um espaço na frente da palavra:
$ sed 's/\([^[:blank:]]\)\([[:upper:]]\)/ /g' file.in
Add Data
Test Something
Tell Me Who You Are
A substituição irá procurar por uma letra maiúscula imediatamente após um outro caractere que não seja espaço em branco, e inserir um espaço entre as duas.
Para strings com mais de um caractere consecutivo maiúsculo, como WeAreATeam
, isso produz We Are ATeam
. Para classificar isso, execute a substituição uma segunda vez:
$ sed -e 's/\([^[:blank:]]\)\([[:upper:]]\)/ /g' \
-e 's/\([^[:blank:]]\)\([[:upper:]]\)/ /g' file.in