Sed - Colocar a primeira letra de cada palavra em maiúscula

Abril 2017


Eis como proceder :
  • Método 1
    • sed -r 's/(^.| .)/\U&/g'
  • Método 2
    • sed 's/^.\| [a-z]/\U&/g'
  • Método 3
    • sed -r 's/\<./\U&/g'

Exemplos :
$ echo -e "bom dia vida." | sed -r 's/(^.| .)/\U&/g' 
Bom dia vida. 

$ echo -e " Bom dia vida \net bom dia para ti" | sed -r 's/(^.| .)/\U&/g' 
ou
$ echo -e " Bom dia vida \net bom dia para ti" | sed -r 's/(\b.)/\U&/g' 
Bom dia vida Et Bonjour À Toi 

$ echo -e " Bom dia vida." | sed 's/^.\| [a-z]/\U&/g' 
Bom dia vida. 

$ echo -e " Bom dia vida \net bom dia para ti" | sed 's/^.\| [a-z]/\U&/g' 
Bom dia vida 
E Bom dia PARA ti 

$ 


Nota : - Os 2 primeiros métodos só funcionam se tiver um espaço entre as palavras.
Eis a melhoria do 1° método para que funcione sm considerar o n° de espaços entre as palavras.
sed -r 's/(^.|[ ]+.)/\U&/g'


Tradução feita por Ana Spadari

Veja também

Artigo original publicado por . Tradução feita por ninha25. Última modificação: 6 de maio de 2011 às 08:22 por ninha25.
Este documento, intitulado 'Sed - Colocar a primeira letra de cada palavra em maiúscula ', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.